详谈内核Inline_Hook实现.docVIP

  • 16
  • 0
  • 约1.33万字
  • 约 15页
  • 2016-01-01 发布于安徽
  • 举报
--(完美WORD文档DOC格式,可在线免费浏览全文和下载)值得下载!

前置知识:汇编 驱动 windbg 函数参数调用 关键词:堆栈平衡 inline hook 详谈内核三步走Inline Hook实现 (一)Inline hook原理 Inline hook通俗的说就是对函数执行流程进行修改,达到控制函数过滤操作的目的。理论上我们可以在函数任何地方把原来指令替换成我们的跳转指令,也确实有些人在inline 的时候做的很深,来躲避inline 的检测,前提是必须对函数的流程和指令非常熟悉,且这种深层次的inlline 不具有通用性,稳定性也是问题。本文讨论的是具有通用性的两类inline的实现。 Inline hook原理:解析函数开头的几条指令,把他们Copy到数组保存起来,然后用一个调用我们的函数的几条指令来替换,如果要执行原函数,则在我们函数处理完毕,再执行我们保存起来的开头几条指令,然后调回我们取指令之后的地址执行。用下图来解释: 原函数: 开头指令A 指令B Inline 后: JMP MyFunction 指令B MyFunction: 处理函数 JMP ResumeFunction ResumeFunction: 开头指令A JMP 回去

文档评论(0)

1亿VIP精品文档

相关文档