动态调试是指软件作者利用集成环境(IDE)自带的调试器跟踪自己软件的运行,来协助解决自己软件的错误。 要成为一位优秀的
软件工程师,调试能力是不可或缺的。
动态调试技术在软件逆向工程领域也是一个很热门的概念,它是与静态分析技术相对而言的。静态分析技术是指破解者利用
反汇编工具将二进制的可执行文件翻译成汇编代码,通过对代码的分析来破解软件;而动态调试则是指破解者利用调试器跟踪软件的运行,寻求破解的途径。
在DOS环境下,最常用的调试工具是DEBUG,它工作在字符界面下,以单字符命令方式工作,要求使用者具备一定的汇编程序设计和硬件基本知识,为汇编语言
程序员提供了有效的调试手段。它的作用有:
2. 观察操作系统的内容
3. 查看ROM BIOS的内容
4. 观察更改RAM内部的设置值
1 用户模式(user-mode)
调试器:它们都基于win32 Debugging API,有使用方便的界面,主要用于调试用户模式下的应用程序。这类调试器包括Visual C++调试器、WinDBG、BoundChecker、Borland C++ Builder调试器、NTSD等。
2 内核模式(kernel-mode)
调试器:内核调试器位于CPU和操作系统之间,一旦启动,操作系统也会中止运行,主要用于调试
驱动程序或用户模式调试器不易调试的程序。这类调试器包括WDEB386、WinDBG和softice等。其中WinDBG和softice也可以调试用户模式代码。
实际上,目前最流行的调试工具是德国人出的Ollydbg,它对SEH
异常处理,VXD,MMX等指令集都有很好的支持.
Ollydbg,简称OD。一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器,非常容易上手,己代替SoftICE成为当今最为流行的调试解密工具了.同时还支持
插件扩展功能,是目前最强大的调试工具.
OllyDbg发行版是一个ZIP压缩包,只要解压运行OllyDbg.exe即可。运行OllyDbg打开进程,主窗口显示
反汇编清单。各窗口的外观属性如:“
标题栏(bar)、字体(fontappearance