使用INT3进行HOOK处理
来源:互联网 发布:炉石传说淘宝金币代刷 编辑:程序博客网 时间:2024/05/21 20:22
原理:设置异常捕获,然后将需要HOOK的代码直接修改成INT3即可
用的一个关键的API:SetUnhandledExceptionFilter
//异常处理函数function MyInt3(CONST P:EXCEPTION_POINTERS):Integer;cdecl;var add:Pointer;begin OutputDebugString(PChar(inttohex(P.ExceptionRecord.ExceptionCode,2))); Add:=p.ExceptionRecord.ExceptionAddress; OutputDebugString(PChar(Format('Address:%x ',[Cardinal(Add)]))); inc(p.ContextRecord.Eip); result:=-1;end;
执行 SetUnhandledExceptionFilter(@MyInt3);
为了防止DELPHI自身捕获到异常,先要对其进行清除
asm @Loop: mov eax,fs:[0] cmp dword ptr [eax],$FFFFFFFF je @SEHCleared mov eax,[eax] mov fs:[0],eax jmp @Loop @SEHCleared:end;
- 使用INT3进行HOOK处理
- INT3断点
- INT3断点
- INT3断点
- 使用Detours对LoadLibraryExW进行HOOK屏蔽全局钩子
- Xposed插件的使用(一)进行简单的Hook
- 利用LD_PRELOAD进行hook
- Subversion简明手册--使用hook svn (事件处理)
- 使用 getopt() 进行命令行处理
- 使用 getopt() 进行命令行处理
- 使用 getopt() 进行命令行处理
- 使用 getopt() 进行命令行处理
- 使用 getopt() 进行命令行处理
- 使用 getopt() 进行命令行处理
- 使用 getopt() 进行命令行处理
- 使用GDI+进行图像处理
- 使用 getopt() 进行命令行处理
- 使用 getopt() 进行命令行处理
- 文本内容改变触发后台事件
- 2013腾讯编程马拉松初赛第〇场
- hadoop程序打包 并且存放到dfs上面运行
- IOS项目主页框架中点击移动的横条
- Android 侧滑导航效果实现
- 使用INT3进行HOOK处理
- Revit 2013里面用程序新建族然后加载到模型中
- C语言中如何计算结构体的大小
- Java将对象系列化成十六进制的字符串以及将十六机制的字符串反序列化成对象
- Redundancy and Recovery Window的区别
- 文件读取路径小结
- 数据流图懂不懂?
- strcpy&strncpy实现
- 不能将参数 1 从“CString”转换为“const char *”