首页 > 系统相关 >Windows屏幕解锁服务原理及实现(1)

Windows屏幕解锁服务原理及实现(1)

时间:2023-05-03 12:11:11浏览次数:49  
标签:登录 Windows 解锁 DLL 管道 屏幕 账号密码

https://github.com/zk2013/windows_remote_lock_unlock_screen

 

将生成的DLL注册至注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers ,之后的每次锁屏或开机登录都会加载这个DLL。

实现这个DLL有相关的微软文档:

ICredentialProvider 接口

ICredentialProviderCredential 接口

ICredentialProviderCredential2 接口

以上操作只实现了替换解锁Windows的登录界面功能,接下来是实现自动登录(自动解锁)。

 

实现自动解锁需要有通信机制发送接收Windows账号密码,接收端代码里使用的是 C++的 CreateNamedPipe (命名管道)。在 ICredentialProviderCredential 接口的现实方法 GetSerialization 内创建了一个 pipe,管道名是 \\.\pipe\NoninteractiveUnlockCredentialProvider,( \\.\管道\管道名。最多可达256个字符的长度,而且不用区分大小写 )。

 

现在实现发送端,使用 C++ 的 CreateFile (这是一个多功能的函数,可打开或创建文件或者I/O设备,并返回可访问的句柄:控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道。)发送账号密码至管道 ( \\.\pipe\NoninteractiveUnlockCredentialProvider ) 。

 

接收端收到账号密码后,在 GetSerialization 方法内 通过 KerbInteractiveUnlockLogonInit 和 KerbInteractiveUnlockLogonPack 校验登录。正确后触发Windows登录机制并解开屏幕锁。

 

标签:登录,Windows,解锁,DLL,管道,屏幕,账号密码
From: https://www.cnblogs.com/mickssr/p/17368869.html

相关文章

  • windows-"运行"对话框-命令
    打开"运行"对话框:按win+R......
  • MacBook如何安装Windows 软件
    五一假期快结束了,你还沉浸在假期里,打开MacBook,想玩PC端一款游戏,却发现Mac安装软件的时候,我们会发现装不上去,然后还没提示,那么怎么解决苹果电脑无法安装软件的问题呢?使用CrossOver可以在Mac或者Linux上安装Windows软件,就是.exe结尾的软件,听起来是不是有点厉害。首先需要安装一......
  • windows如何查看已经连接的wifi的密码
    在搜索框中搜索【控制面板】并打开点击【网络和Internet】点击【网络和共享中心】点击目前所连接的WIFI.点击【无线属性】在新弹出的窗口中选择【安全】-勾选【显示字符】即可看到无线网络密码      ......
  • windows powershell
    路径:C:\Users\Thinkpad\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1内容:#regioncondainitialize#!!Contentswithinthisblockaremanagedby'condainit'!!(&"D:\Miniconda3\Scripts\conda.exe""shell.......
  • windows11 下使用 阿里云 modelscope docker 环境 运行参考
    昨天看视频我们做了个能对话的AI派蒙,免费给大家玩!发现阿里有一个语音转文字的模型(paraformer),之前处理这种需求一直都是直接调用服务商提供好的API接口突然想尝试一下本地搭建,虽然和直接调用API没啥区别(都不知道实现细节),但是这是本地化运行,可以在内网环境运行.因为平......
  • 使用Socks5代理在Windows上实现更安全的网络连接
    作为一名网络工程师,我们经常需要在不同的网络环境下工作,这可能会给我们的计算机安全带来一定的风险。使用Socks5代理是一种简单而有效的方式,可以在Windows操作系统上提高网络安全性,本文将介绍如何在Windows上设置和使用Socks5代理。什么是Socks5代理?Socks5代理是一种网络协议,它可以......
  • 分析Windows二进制文件和嵌入式资源
    环境介绍可以去看一下我上一篇文章开始将题目解压到目录里一共有48个可执行程序我们随意选择一个文件拖入ida分析一下用peid分析一下文件,发现这个程序是32位的,而且没有加密和混淆将文件拖入ida如果以后遇到不知道程序从哪开始的话,可以查看左边那一栏的函数,或者windows特别查找......
  • 当前标识(IIS APPPOOL\XX)没有对“C:\Windows\Microsoft.NET\Framework64\4.0.30
    当前标识(IISAPPPOOL\WMS.APP)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\TemporaryASP.NETFiles”的写访问权限。解决此问题为在使用Windows的IIS搭建服务器时,遇到的问题。在网上尝试了各种解决方法后,终于找到了一个可以解决问题的方法,以管理员身份运行命令......
  • protobuf使用(一)android ndk 编译 protobuf-3.6.x windows
    首先建议大家看好版本,环境,有可能因为小的变化会造成编译有问题: 我的环境是PC OS:windows10(没办法暂时没机器);NDK:android-ndk-r17b-windows-x86_64ProtoBuf:protobuf-3.6.x  下载链接:https://github.com/protocolbuffers/protobuf/tree/3.6.x代码生成工具:protoc-3.6.1-wi......
  • 取得当前屏幕的截图
    取得当前屏幕的截图主要使用了Bitmap类里的方法,首相取得一个bitmap然后用取得的bitmap去绘制一张图片然后进行保存。importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importandroid.app.Activity......