当前位置: 首页 > news >正文

grok 驱动级键盘按键记录器分析

       grok是一个驱动模块,其主要功能就行进行键盘按键及剪切板数据的记录,也就是一个键盘记录器。实现原理是通过对shadow-ssdt的相关函数进行hook,和r3对GetUserMessage进行hook的原理差不多。

关键部分如下:

查找csrss.exe进程是否已经启动,如果没有启动,则创建线程等待其启动。如果已经启动,就进入下一步准备进行hook操作。

        前面检查csrss.exe进程是因为后面解析shadow-ssdt数据需要gui进程环境,需要附加到csrss.exe进程,然后才方便解析shadow-ssdt。之后,根据自定义的序号获取函数地址,其内部实现如下:

      系统版本相关的shadow-ssdt函数序号,根据系统版本赋值,解析过程就不展开。

保存hook后的逻辑处理函数地址,一个是消息截取,一个是剪切板截取。

  实际执行hook操作的函数,大致是inlinehook的流程。确认需要hook函数的地址,然后保存函数体前几个被覆盖的字节码,填入劫持的跳转shllcode地址。

关闭内存写保护,然后进行内存修改,安装跳转函数

                         劫持NtUserPeekMessage函数的shellcode

按键类型的消息过滤

                           剪切板的数据获取通过NtCreateLocalMemHandle。

获取一些辅助信息,使得按键数据更立体完善

  最后,这是个古早的样本了。shadow-ssdt hook 在较新的win10/win11上是无法进行的,因为pg对shadow-ssdt 数据进行了保护。


文章转载自:

http://WPs5PAWN.ybhjs.cn
http://PYobJRsd.ybhjs.cn
http://RRmiQtF9.ybhjs.cn
http://nW4GvYkE.ybhjs.cn
http://NXeFLmmf.ybhjs.cn
http://YhTzVbg3.ybhjs.cn
http://qDRV9MtB.ybhjs.cn
http://diK9ELdv.ybhjs.cn
http://M7vV5Z7M.ybhjs.cn
http://0tipWc8e.ybhjs.cn
http://FB4aWUWE.ybhjs.cn
http://F0x0CnZu.ybhjs.cn
http://161mfELg.ybhjs.cn
http://YDS7QkHc.ybhjs.cn
http://jb4Inf6A.ybhjs.cn
http://2rB1QbdQ.ybhjs.cn
http://TBy0QQa3.ybhjs.cn
http://rnN05SvI.ybhjs.cn
http://SEPhNmgm.ybhjs.cn
http://famA2IeA.ybhjs.cn
http://4vrBSVWF.ybhjs.cn
http://dCsD8VpK.ybhjs.cn
http://tPDWvJ8K.ybhjs.cn
http://oXJ4dVgi.ybhjs.cn
http://6eDStntU.ybhjs.cn
http://wy3XuulX.ybhjs.cn
http://NsVEnJtB.ybhjs.cn
http://6hQQ57bM.ybhjs.cn
http://csNsChQn.ybhjs.cn
http://XiRLozUQ.ybhjs.cn
http://www.dtcms.com/a/120699.html

相关文章:

  • 扒光HPM6800系列 | 强到起飞的显控MCU介绍
  • 人工智能在高中教育中的应用现状剖析与挑战应对
  • 【QT】QWidget 概述与核心属性(API)
  • FreeRTOS静态任务创建(2025.4.9巨详细)
  • Vue.js组件化开发实战:从工程化到安全纵深设计
  • 华为数字芯片机考2025合集2已校正
  • Transformer Decoder Block的几个优化方案
  • [Windows] Windows更新暂停器 v1.0.0.0
  • Python内存池机制深度解析
  • 接口自动化测试流程、工具及实践
  • 【RabbitMQ】死信队列
  • 红宝书第三十四讲:零基础学会单元测试框架:Jest、Mocha、QUnit
  • 解决 IntelliJ IDEA 中 Maven 项目左侧项目视图未显示顶层目录问题的详细步骤说明
  • [leetcode]查询区间内的所有素数
  • libev实现Io复用及定时器事件服务器
  • linux提权进阶 环境变量劫持提权 nfs提权
  • spark架构和RDD相关概念
  • 蓝桥杯-小明的背包(动态规划-Java)
  • #无类域间路由(快速复习版)
  • 宝塔面板面试内容整理-性能监控
  • 建筑工程管理系统功能模块概览
  • 【MySQL 数据库】增删查改操作CRUD(上)
  • Elasticsearch 系列专题 - 第一篇:Elasticsearch 入门
  • Ansible的使用3
  • 大数据技术之SPARK
  • 潮玩宇宙大逃杀游戏源码搭建部署二开,可切换单多杀boss模式
  • 怎么构造思维链数据?思维链提示工程的五大原则
  • 区块链是怎么存储块怎么找到前一个块
  • 如何向ESL阿联酋航运发送EDI CODECO报文?
  • DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar)