程序调试利器Ollydbg使用教程
大小:0.3 MB 人气: 2017-10-09 需要积分:1
1.1、Ollydbg
Ollydbg(简称OD)是Windows平台下Ring3级的程序调试利器。程序调试有静态调试和动态调试两种。静态调试是指将程序源代码编译成可执行程序之前,用手工或编译程序等方法对程序源代码进行测试,来查找和修正程序中的语法错误和逻辑错误。动态调试则是在可执行程序的运行过程中,来查找和修正程序中的语法错误和逻辑错误。随着系统安全与逆向工程的不断发展,程序调试已经成为信息安全爱好者所必备的一种技术。OD结合了静态调试和动态调试的方法,功能强大,已经成为了Windows平台下普通应用程序的调试利器。
1.2、PE文件
PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件
1.3、寄存器
EAX 是”累加器”(accumulator), 它是很多加法乘法指令的缺省寄存器。
EBX 是”基地址”(base)寄存器, 在内存寻址时存放基地址。
ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。
EDX 则总是被用来放整数除法产生的余数。
ESI/EDI分别叫做”源/目标索引寄存器”(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串。
EBP是”基址指针”(BASE POINTER), 它最经常被用作高级语言函数调用的”框架指针”(frame pointer)。
二、OD的各个窗口
2.1、反汇编窗口
地址栏[Address] - 显示距双击地址处的相对地址。再次双击基地址,则恢复为标准地址显示模式; 十六进制数据栏[Hex dump] - 设置或取消非条件断点; 反汇编栏[Disassembly] - 调用汇编器,修改命令; 注释栏[Comment] - 增加或修改与命令相关的注释。
2.2、信息窗口
用于解码反汇编窗口中选中的第一个命令的参数,信息窗口也会显示隐含的参数。
2.3、数据窗口
用于显示内存或文件的内容。可以从以下预处理格式中选择一种显示方式:字节[byte]、文本[text]、整数[integer]、浮点数[float]、地址[address],反汇编[disassembly]、PE头[PE Header]。
2.4、寄存器窗口
用于显示和解释当前所选线程的CPU寄存器中的内容。该窗口同样允许修改寄存器,并可以跟进地址到其它CPU窗口。
2.5、堆栈窗口
用于显示当前线程的堆栈。当被调试程序暂停运行时,堆栈窗口一般会自动滚动将当前ESP指向的地址放在窗口的第一条。并且这个地址被高亮显示。在某些情况下禁止滚动会更方便一些,可以通过在堆栈窗口右键单击[锁定堆栈]来禁止堆栈自动滚动。
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%