第二章《动态分析技术》
用户模式调试器:OllyDbg、x64dbg
内核模式调试器:WinDbg
2.1 OllyDbg调试器
OD入门教程:https://www.cnblogs.com/xueyoo/articles/4938538.html
注意UDD path和Plugin path路径的配置
断点的设置
常用断点:
INT3(0xCC)断点:“F2”快捷键设置,断点处内容被替换成“CC”。优点:可以设置无数个;缺点:容易被检测到
硬件断点:与DRx调试寄存器有关。
详细介绍:https://blog.youkuaiyun.com/qq_41988448/article/details/119565618
优点:不会修改原始机器码,不容易被检测。缺点:设置数量有限
内存断点:原理是对设置的地址赋予不可访问/不可写属性。优点:不会修改原始机器码,不容易被检测。缺点:会降低OD的执行速度,只能设置一个
消息断点:INT3断点可以在程序启动之前设置,消息断点只有在窗口被创建之后才能被设置并拦截消息。详细介绍:https://www.52pojie.cn/thread-1099956-1-1.html
条件断点:按寄存器条件设置断点、按存储器条件设置断点
条件记录断点:除了具有条件断点的作用,还能记录断点处函数表达式或参数的值
调试符号:COFF、PDB、MAP格式
OD两种方式加载目标程序,方式一:通过CreateProcess创建进程;方式二:利用DebugActiveProcess函数将调试器捆绑到一个正在运行的进程上。
2.2 X64dbg
开源,地址:https://x64dbg.com/
2.3 MDebug
可以调试64位程序
2.4 WinDbg
常用命令:https://blog.youkuaiyun.com/Fuel_Ming/article/details/123443241