5.windbg script-禁用IsDebuggerPresent(调试 kernel32!SetUnhandledExceptionFilter)
来源:互联网 发布:武汉矩阵互动科技抄袭 编辑:程序博客网 时间:2024/06/05 06:18
0:000> u 7732378f KERNELBASE!IsDebuggerPresent:7732378f 64a118000000 mov eax,dword ptr fs:[00000018h]77323795 8b4030 mov eax,dword ptr [eax+30h]77323798 0fb64002 movzx eax,byte ptr [eax+2]7732379c c3 ret
简单的script
r @$t0 = kernelBase!IsDebuggerPresent; eb @$t0+0x9 31 c0 90 90
强制把原代码改成xor eax, eax; nop; nop
注意在xp下,使用kernel32
调试 kernel32!SetUnhandledExceptionFilter
这个函数并不长. 它会调用 IsDebugPortPresent(), 如果存在调试器, 则直接返回, 让调试器处理异常. 否则调用用户通过 SetUnhandledExceptionFilter() 注册的处理函数.
如果要调试自己的处理函数,可以在 IsDebugPortPresent() 函数返回之后, 将 eax 置 0.
- 5.windbg script-禁用IsDebuggerPresent(调试 kernel32!SetUnhandledExceptionFilter)
- 反调试 - IsDebuggerPresent
- 1.ring3-反调试-IsDebuggerPresent
- isdebuggerpresent
- 反调试-----由IsDebuggerPresent函数看下去
- 由windbg断kernel32下的函数
- WINDBG Script简易教程
- 8.windbg script-.cmdtree
- SetUnhandledExceptionFilter
- SetUnhandledExceptionFilter
- SetUnhandledExceptionFilter
- SetUnhandledExceptionFilter
- SetUnhandledExceptionFilter
- Windbg调试----Windbg入门
- Windbg调试----Windbg入门
- 反调试技术- IsDebuggerPresent,原理 与 反反调试
- Windbg调试
- windbg 调试
- C++ 程序文档生成器介绍(doxygen)
- iOS 进阶开发— 原生APNS配置以及server实现(c++版本)
- Android onTouchEvent, onClick及onLongClick的调用机制
- Struts2 result中type的参数说明
- Eclipse 中配置android sdk 提示版本过旧的解决方法
- 5.windbg script-禁用IsDebuggerPresent(调试 kernel32!SetUnhandledExceptionFilter)
- hive的插入操作
- 关于like的优化思考
- android 项目导入错误解决方法收集
- Warning: Cannot modify header information - headers already sent by (output started at...
- protobuf初探
- __extension__ typedef int __ssize_t;是什么意思
- vs2005无法打开工程
- dll的概念、dll导出类(转)