inline hook和IDT hook结合 收藏
2009-06-18 15:38
260 查看
inline hook就是修改一个函数里面的几个字节为一条跳转指令,jmp到自己的函数中执行......
IDT HOOK就是修改IDT表中正常的异常处理例程的入口函数,为自己的函数地址
把这俩种思想结合起来就是""""一个字节钩子""""
请看
nt!NtOpenFile:
80579fd0 8bff mov edi,edi
80579fd2 55 push ebp
80579fd3 8bec mov ebp,esp
对这个函数进行inline hook没什么问题.....但是我们这里只修改一个字节....所以不是inline hook
mov edi,edi的机器码是8bff...........我们就把8b这个字节改下,就改成0xCD吧.....然后执行
nt!NtOpenFile时候.....意味着执行了0xCD 0xFF 这个机器码表示的是INT 0XFF...呵呵.....然后就发生了异常......转到处理INT 0XFF的异常处理程序............我们可以IDT HOOK INT 0XFF.........所以就执行我们自己的函数了
总结:::这种方法可以绕过现在很过工具的inline hook检测...因为我们只修改函数开头的一个字节...本质上说不是inline hook,没有jmp嘛.....
但是修改了IDT.....随便DUMP一下IDT就知道是否异常拉..........所以检测IDT 还是很重要的...因为这张表对病毒来说还是可以利用的....除了这个""""一个字节钩子"""""还有键盘记录...禁止调试等..........
接着你们就可以试下了...inline hook和IDT hook的代码看雪就有
PS::我对HOOK基本是没什么兴趣....检测HOOK倒是有兴趣........所以在检测一个函数是否干净..看来还是要来个对0xCD的判断啊
IDT HOOK就是修改IDT表中正常的异常处理例程的入口函数,为自己的函数地址
把这俩种思想结合起来就是""""一个字节钩子""""
请看
nt!NtOpenFile:
80579fd0 8bff mov edi,edi
80579fd2 55 push ebp
80579fd3 8bec mov ebp,esp
对这个函数进行inline hook没什么问题.....但是我们这里只修改一个字节....所以不是inline hook
mov edi,edi的机器码是8bff...........我们就把8b这个字节改下,就改成0xCD吧.....然后执行
nt!NtOpenFile时候.....意味着执行了0xCD 0xFF 这个机器码表示的是INT 0XFF...呵呵.....然后就发生了异常......转到处理INT 0XFF的异常处理程序............我们可以IDT HOOK INT 0XFF.........所以就执行我们自己的函数了
总结:::这种方法可以绕过现在很过工具的inline hook检测...因为我们只修改函数开头的一个字节...本质上说不是inline hook,没有jmp嘛.....
但是修改了IDT.....随便DUMP一下IDT就知道是否异常拉..........所以检测IDT 还是很重要的...因为这张表对病毒来说还是可以利用的....除了这个""""一个字节钩子"""""还有键盘记录...禁止调试等..........
接着你们就可以试下了...inline hook和IDT hook的代码看雪就有
PS::我对HOOK基本是没什么兴趣....检测HOOK倒是有兴趣........所以在检测一个函数是否干净..看来还是要来个对0xCD的判断啊
相关文章推荐
- inline hook和IDT hook结合
- 通用Inline Hook代码收藏
- inlinehook NtCreateFile
- ASP.NETmvc常用JQUERY收藏【jquery.form.js结合jquery.validate.js】
- SSDT Hook的妙用-对抗ring0 inline hook
- 多核发dpc安全inline hook
- 简单的修改IDT,实现hook page_fault中断处理进程
- SSDT Hook的妙用-对抗ring0 inline hook
- SSDT Hook的妙用-对抗ring0 inline hook
- Svn结合hook实现自动发布及多Project管理更新
- InlineHookSwapContext
- 在VC中ADE32反汇编引擎的使用,打算配合inline hook使用。。(~ o ~)~zZ
- 基于VC++开发InlineHook网络数据发送接收函数
- vc++实现Inline hook KeyboardClassServiceCallback实现键盘记录
- 从看雪的一个沙箱代码中扣出的InlineHook代码
- 多CPU下安全inline hook
- 浅谈inline HOOk之ring0下的进程保护
- Inline Hook 之监视任意函数
- 基于VC++开发InlineHook网络数据发送接收函数
- x86 IDT HOOK