OllyDBG中文版是极具专业性的反汇编调试软件,该软件专门为调试多线程程序而构建,支持即时调试,让你轻松执行代码分析,并显示有关寄存器、循环、api调用、交换机和许多其他方面的信息,同时还支持利用OllyDbg调试标准动态链接库,能够加载链接库,并允许您调用链接库的输出函数。
OllyDBG是反汇编工作必备的调试工具,能够在调试过程可随时插入全局标签,过程直观简练,此外这款软件还能够可以跟踪程序执行和日志参数,也能够提供有关日志数据、可执行模块、内存映射、线程和cpu的信息,深受程序员们喜爱。
1、多语言图形用户界面
2、支持AVS指令
3、调用堆栈窗口
4、SEH和VEH链条
5、多字节字符转储
6、在转储中搜索整数和浮点数
7、使用int1、hlt、cli、sti或insb而不是int3的软件断点
8、对ntfs流的有限支持
9、支持重复计数
10、立即数据语句的汇编(db xx等)
11、突出显示运行中跟踪
12、更复杂的代码序列
13、显示可用内存
1、配置:有多达百余个选项用来设置 OllyDbg 的外观和运行。
2、完全支持Unicode:几乎所有支持 ASCⅡ 的操作同时也支持 UNICODE,反之亦然。
3、调试DLLs:您可以利用OllyDbg调试标准动态链接库(DLLs)。OllyDbg 会自动运行一个可执行程序。这个程序会加载链接库,并允许您调用链接库的输出函数。
4、源码级调试:OllyDbg 可以识别所有 Borland 和 Microsoft 格式的调试信息。这些信息包括源代码、函数名、标签、全局变量、静态变量。有限度的支持动态(栈)变量和结构。
5、数据格式:OllyDbg 的数据窗口能够显示的所有数据格式:HEX、ASCII、UNICODE、 16/32位有/无符号/HEX整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或是HLA)、PE文件头或线程数据块。
6、启动:您可以采用命令行的形式指定可执行文件、也可以从菜单中选择,或直接拖放到OllyDbg中,或者重新启动上一个被调试程序,或是挂接[Attach]一个正在运行的程序。OllyDbg支持即时调试。OllyDbg根本不需要安装,可直接在软盘中运行。
一、界面介绍
运行OllyDbg打开进程,主窗口显示反汇编清单。各窗口的外观属性如:“标题栏(bar)、字体(font)”等在右键菜单"界面选项(appearance)"里控制
二、代码窗口
代码窗口(OllyDbg帮助文件自称反汇编窗口)显示被调试程序的代码。他有四个列地址/Address(虚拟地址)HEX数据/HEX dump(机器码)/Disassembly(反汇编) 注释/Comment(注释)
最后一列注释(Comment)显示相关API参数或运行简表,非常有用,有点类似于IDA Pro。
在代码窗口(地址行,不是列标题)双击时完成动作。
●地址(Address)列:显示相对被双击地址的地址,再次双击返回标准地址模式;
●HEX数据(HEX dump)列:设置或取消无条件断点,按F2键也能设置断点;
●反汇编(Disassembly)列:调试编辑器,可直接修改汇编代码;
●注释(Comment)列:允许增加或编辑注释。
代码窗口允许浏览、分析、搜索和修改代码,保存改变到可执行文件,设置断点等。相关弹出式菜单包括100多项。
三、信息窗口(Information window)
动态跟踪时,与指令相关的各寄存器的值、API函数调用提示、跳转提示等信息显示。
四、数据窗口
以十六进制或内存方式显示文件在内容中的数据,类似于softICE的数据窗口。要显示数据可单击右键"转到→表达式(Go to→expression)"或按Ctrl+G键打开地址窗口,输入地址。
五、寄存器(Registers window)
显示CPU各寄存器的值,支持浮点(FPU)、MMX,3DNow!寄存器,可以单击鼠标右键切换。
六、堆栈窗口(Stack window)
堆栈窗口非常重要,各API函数、子程序等都利用它传递参数、变量等。OllyDbg堆栈窗口功能强大。如果传递的参数都是字符串,OllyDbg会在注释里直接将其显示出来,再也不用像SoftICE那样经常用D命令查看内存数据了。
①代码执行法
当代码量不大且程序功能非常明确时,逐条执行指令来查找需要查找的位置。
具体方法为结合使用F8和F7
②字符串检索法
OllyDbg会先经历一个预分析过程,此过程中会查看进程内存,程序中引用的字符串和调用的API都会被摘录出来,整理到另外一个列表中,这样的列表可以使用鼠标右键菜单Search for-All referenced strings来查看
地址00401007处有一条PUSH OFFSET 00411AF0指令,该指令中引用的00411AF0处即是字符串Hello World!,双击字符串,光标将定位到00401007这一位置
使用Goto命令查看00411AF0地址处的字符串:
即是Hello World!这个字符串
③API检索法——在调用代码中设置断点
OllyDbg的预分析中不仅可以分析出程序中使用的字符串,还可以摘录出程序运行时调用的API函数列表,可以通过鼠标右键菜单中Search for-Intermodular calls来查看该列表
双击其中的任意一行可以定位到该处所对应的代码位置,使用F2下断点即可。
④API检索法——在API代码中设置断点
我们编写的应用程序执行某种操作时(如各种IO操作),必须使用OS提供的API向OS提出请求,然后与被调用API对应的系统DLL文件就会被加载到应用程序的进程内存。使用OllyDbg中的Search for-Names可以列出被加载的DLL文件中提供的所有API
单击Name栏目按名称排序,通过键盘敲出MessageBoxW后,光标会自动定位到MessageBoxW上,双击之后就会显示其代码???(我这里好像不太行,此处存疑)
在MessageBoxW函数的内部实现中的起始地址按下F2下断点,调试时程序运行到该处就会暂停。
直接修改字符串缓冲区
首先找到Hello World!字符串所在的位置(我这里是00411AF0),在Dump窗口中按Ctrl+G,跳转到这一位置,使用鼠标选中Hello World这一字符串,按Ctrl+E快捷键打开编辑窗口
在弹出的编辑窗口的UNICODE文本框中输入Hello Reversing字符串,Unicode字符串必须以NULL结束,它占据两个字节(00 00),添加NULL只能在HEX文本框中添加,修改完毕之后点击OK即可
这种方法的优点是使用起来非常简单,缺点是对新字符串的长度有限制,新字符串的长度不应比原字符串长(虽然可执行文件保存时一般会给字符串多留出一些空间)
注意:这种修改方式只是暂时的,终止调试后,程序中的字符串仍然没有改变。要把这种更改保存下来,就要把更改后的程序另保存为一个可执行文件。
方法如下:在Dump窗口中,选中更改后的Hello Reversing字符串,单击鼠标右键Edit-Copy to Executable,会打开Hex窗口,在弹出的Hex窗口中点击鼠标右键,选择Save file,保存为新的可执行文件即可。
打开一个新的可执行程序 (F3)
重新运行当前调试的程序 (Ctrl+F2)
当前调试的程序 (Alt+F2)
运行选定的程序进行调试 (F9)
暂时停止被调试程序的执行 (F12)
单步进入被调试程序的 Call 中 (F7)
步过被调试程序的 Call (F8)
跟入被调试程序的 Call 中 (Ctrl+F11)
跟踪时跳过被调试程序的 Call (Ctrl+F12)
执行直到返回 (Ctrl+F9)
显示记录窗口 (Alt+L)
显示模块窗口 (Alt+E)
显示内存窗口 (Alt+M)
显示 CPU 窗口 (Alt+C)
显示补丁窗口 (Ctrl+P)
显示呼叫堆栈 (Alt+K)
显示断点窗口 (Alt+B)
打开调试选项窗口 (Alt+O)
108MB/国产软件
2021-12-10
1.74GB/国产软件
2021-01-12
896MB/国产软件
2021-02-25
88.18MB/国产软件
2021-01-14
379MB/国产软件
2021-02-04
12.38MB/国产软件
2021-03-27
246.13MB/国产软件
2021-02-24
231.41MB/国产软件
2021-03-11
2.54GB/国产软件
2021-01-12
UPUPOO激活码领取软件77.98MB / 2021-02-06
点击查看Photoshop 2020破解版1.9GB / 2021-01-04
点击查看Maya2021最新版1.86GB / 2021-02-03
点击查看Xshell7激活破解版88.18MB / 2021-01-14
点击查看RPG Maker MV全能修改器507KB / 2021-01-05
点击查看OC渲染器4.0破解版114.83MB / 2021-01-15
点击查看AI全自动剪辑软件破解版121MB / 2021-02-19
点击查看Auto Unlocker破解版35.7MB / 2021-11-12
点击查看diskgenius专业版38.7MB / 2021-09-25
点击查看Photoshop 2020破解版1.9GB / 2021-01-04
点击查看方方格子Excel工具箱下载94.55MB / 2021-02-04
点击查看CorelDRAW2021破解版727.34MB / 2021-01-16
点击查看