一直潜水 看大牛们的帖子 受益很多  
最近比较闲 也来发几篇撮文       高手就请路过吧。


    绕函数头INLINE HOOK  方法比较简单 玩过INLINE HOOK的人应该都知道  
没有处理重定位  不过绕函数头的几个字节应该没什么问题 
代码很烂 就不贴出来了      需要的朋友自己下载吧 

附件是 VS2008 +DDKWizard 的 请自行编译  XP SP2下测试通过

上传的附件 passinline.rar

  • 标 题:答复
  • 作 者:xacker
  • 时 间:2009-09-07 15:25

引用:
最初由 绿豆青蛙发布 查看帖子
进来看看,要是在帖子里有个说明原理的就好了
看这张图  就知道了 



第一个U  是正常函数的 

第二个U 是打开冰刃后的 

第三个U 是驱动里那个20字节  用来替代NtTerminateProcess函数的



首先 定位函数地址 转换为文件偏移  然后从原始文件读取相应的长度 
最后加上一个跳转指令跳回去  就绕过了函数头inline hook 

刚裁图发现代码里有个小错误      NOP 应该是0x90  。。

  • 标 题:答复
  • 作 者:leftup
  • 时 间:2009-09-07 16:08

看这张图,貌似这个函数有为hotpatch预留的空间
开始是 mov edi,edi,用来patch成短跳转 上面还应该有5个nop,用来patch成长跳转