导读

[c++] 如何在最新版本的Windows操作系统中从内核驱动程序或DMA设备获取keystate

[复制链接]

微信扫一扫 分享朋友圈

MatthewAsync 发表于 昨天 09:20 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

马上注册,结交更多易友,享用更多功能,让你轻松玩转觅风论坛。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Windows 10: 基于导出的访问
在Windows 10系统中,这种方法相对简单:

目标:在win32kbase.sys中导出gafAsyncKeyState
方法:直接使用模块的导出表解析导出

---------

Windows 11 23H2及更早版本
(Windows 11消除了gafAsyncKeyState导出)

目标模块:WIN32KSGD.SYS
方法:使用模式48 8B 05 ? ? ? ? 48 8B 04 C8的签名扫描
备用偏移:0x36a8
keystate偏移:在会话结构中的0x36a8

--------

Windows 11 24H2及以后版本

目标模块:win32k.sys
方法:使用模式 48 8B 05 进行签名扫描 ? ? ? ? FF C9
备用偏移量:0x824F0
密钥状态偏移量:会话结构中的 0x3808

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们:觅风论坛与你快乐分享

收藏本站

用心服务做个非盈利公益编程网站

www.eyyba.com

服务人:觅风论坛

Email:eyyba@foxmail.com

Powered by WWW.EYYBA.COM X3.4© 2001-2023 Inc.   版权所有   

觅风论坛  疆ICP备15020893号-1