我希望你熟悉80x86兼容CPU的内部结构,并且有汇编写程序的经历。我也希望你 熟悉Microsoft Windows. OllyDbg是一个单进程多线程的“机器代码级”debugger,用于Windows环境下的32位程序。它允许你debug和patch PE格式的可执行程序。OllDbg仅仅使用列入文档的Win32 API调用,所以可用于下一代32位Windows系统。OllDbg看来也可工作于Windows XP,但是我没有详尽的测试,因此不能保证功能完整。 OllyDbg不是面向编译器。它不含特别的规则显示某些情况下特定的编译程序生成哪些代码序列。因此,你可以一样对待任何编译器编译的,或者汇编书写的任何代码。 OllyDbg与被调试的程序同时工作。你可以浏览代码和数据、设置断点、停止或继续线程,甚至运行期修改内存(有时这叫作软调试方式)。当然,如果被请求的操作不是最基本的,OllyDbg就会短时暂停程序,但这对用户透明。有时不在调试状态运行的程序会意外崩溃。OllyDbg,这个“及时”debugger,会指出异常发生的位置。 OllyDbg强烈面向模块。模块这里指启动时加载的或动态加载的主执行文件或动态连接库。在调试区,你可以设置断点,定义新标号和注释汇编语句。当一些模块从内存卸载后,OllyDbg保存这些信息到扩展名为.UDD名字同被调试模块的文件中。下次当装载这些模块时,OllyDbg自动复原所有调试信息,不论程序是否使用这些模块。比如:你调试使用Mydll的程序Myprog1,并且在Mydll中设置一些断点。那么当你调试Myprog2时,也使用Mydll,你会发现所有在Mydll中的断点还在那里,不管Mydll是否装载在不同的位置。 一些调试器把被调试进程的内存视为单个2**32字节区域。OllyDbg做了别的处理方法。内存由几个独立的块组成。任何内存操作都限制于块内。在大多数案例中,这工作优良并且容易调试。但是模块包含几个执行部分等等,你将不能立刻看到整个代码。然而这些例外不常见。 OllyDbg是内存消耗大户。启动时就要分配3MB内存,甚至更多。每次分析,备份,跟踪或文件转储另外再分配。所以当你调试大工程时消耗40或60M内存很正常。 要有效的调试一些无源代码的程序,你首先必须理解它是如何工作的。OllyDbg提供了大量的手段使理解更容易 (未完待续) |
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>