当前位置: 首页 > 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 数据进行了保护。

相关文章:

  • 扒光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)
  • #无类域间路由(快速复习版)
  • 宝塔面板面试内容整理-性能监控
  • 哪里有网站建设哪家好/网站推广途径
  • 大良网站制作/百度推广app下载安卓版
  • iis网站属性里/google下载手机版
  • 重庆论坛网站建设/网络广告创意
  • 南昌网站设计特色/百度指数怎么提升
  • 企业网站建设的主要目的是/时事新闻最新2022