反汇编调试工具使用--使用OllyDBG

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件安全实验报告

二零二零年

使用OllyDBG

实验环境:操作系统:Windows10

Ollydbg调试简单的helloworld程序

实验步骤:

原理: OLLYDBG是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器,同时还支持插件扩展功能,是目前最强大的调试工具。OllyDbg发行版是一个ZIP压缩包,只要解压运行OllyDbg.exe即可。运行OllyDbg打开进程,界面主要由代码窗口、数据窗口、寄存器、堆栈窗口组成。

1.调试用VC++编写的helloworld程序,在反汇编代码中查找main 函数,MessageBox函数;

#include "windows.h"

#include "tchar.h"

int _tmain(int argc, TCHAR * argv[])

{

MessageBox(NULL,"Hello World!","bcbobo21cn",MB_OK);

return 0;

}

2.在调试工具条上右击,选择组建;

在弹出的组建对话框中,选择 Win32 Release;

把HelloWorld编译为release版本。

3.启动Ollydbg ;打开前面的helloworld程序;

4.停留在00401020处;

5.调试器停止的地点是EP代码,EP即入口点;再往下找找;

6.再往下,看到了调用GetVersion函数,GetCommandLineA函数;获取命令行参数之后,应该就到main函数了;

7.看到上面CALL 00401000;

查看00401000;

看到了VC程序中给出的参数;00401000处先PUSH了4个参数入栈,然后调用了USER32中的MessageBoxA;

三、实验总结

OllyDbg是3级调试工具,与当年的TRW2000(RING 0级调试工具)齐名,用的人很多。上手容易,但只能用来搞32位程序,作者已不再更新。

本实验使用Ollydbg软件查看运行了代码并写入内存。让我了解了这种软件的具体使用方法,受益匪浅。

相关文档
最新文档