驱动开发:内核特征码搜索函数封装与应用.pdfVIP

  • 1
  • 0
  • 约1.32千字
  • 约 4页
  • 2026-08-04 发布于北京
  • 举报

驱动开发:内核特征码搜索函数封装与应用.pdf

面的系列如《驱动开发:内核枚举DpcTimer定时器》或者《驱动开发:内核枚举IoTimer定时器》

里面LyShark大量使用了特征码定位这一方法来寻找符合条件的汇编指令集,总体来说这种方式只能定

位特征较小的指令如果特征值扩展到5位以上那么就需要写很多无用的代码,本章内容中将重点分析,并实

现一个通用特征定位函数。

如下是一段特征码搜索片段,可以看到其实仅仅只是将上章中的搜索方式变成了一个

SearchSpecialCode函数,如下函数,用户传入一个扫描起始地址以及搜索特征码的字节数组,即可完

成搜索工作,具体的参数定义如下。

pSearchBeginAddr扫描的内存(内核)起始地址

ulSearchLength需要扫描的长度

pSpecialCode扫描特征码,传入一个UCHAR类型的字节数组

ulSpecialCodeLength特征码长度,传入字节数组长度

那么这个简单的特征码扫描函数该如何使用,这里我们就用《驱动开发:内核枚举IoTimer定时器》中枚举

IopTimerQueueHead链表头部地址为案例进行讲解,如果你忘记了如何寻找链表头部可以去前面的文章

中学习,这里只给出实现流程。

我们首先通过MmGetSystemRoutineAddress得到Io

文档评论(0)

1亿VIP精品文档

相关文档