逆向分析

一、OllyDBG是一款调试分析工具,主要用于动态调试。
(一)窗口概况:

逆向分析

图中标号对应的功能区:

反汇编区域:1、地址;2、汇编代码对应的十六进制机器窗口;3、反汇编窗口;4、对应的注释。

寄存器区域:5、寄存器

数据区域:7、数据所在的内存地址;8、十六进制编码信息;9数据对应的ASCII码信息

栈区域:10、地址;11、数据;12、说明信息。

 (二)常用快捷键:

F2:断点

F3:加载一个可以执行程序。

F4:程序执行到光标位置。

F5:缩小、还原当前窗口。

F7:单步步入。

F8:单步步过。

F9:直接运行程序,遇到断点处,程序暂停。

Ctrl+F2:重新运行程序到起始处,用于重新调试程序。

Ctrl+F9:执行到函数返回处,用于跳出函数实现。

Alt+F9:执行到用户代码处,用于快速跳出函数实现。

Ctrl+G :输入十六进制地址,在反汇编或数据窗口中快速定位到该地址处。

+号:转到下一步 //Plus

-号:转到上一步 //Minus

*号:转到当前指令地址 //EIP

Enter:跟进到地址处(例如:反汇编窗口中call指令后地址……)

(三)插件命令栏指令

bp  下断点

bc  清除断点

dd  以双字方式显示数据

dw  以字方式显示数据

db  以字节方式显示数据

?  计算表达式的值

二、IDA是一款静态反汇编分析工具。
视图简介:

逆向分析

IDA View-A:分析视图窗口,用于显示分析结果,可选用流程图或反汇编代码形式(通过鼠标右击Text view或Graph view切换)。

Hex View-A:二进制视图窗口,打开文件的二进制信息。

Exports:分析文件中导出函数信息窗口。

Imports:分析文件中导入函数信息窗口。

Names:名称窗口,分析文档中用到的标号名称。

Functions:分析文件中的函数信息窗口。

Structures:添加结构体信息窗口。

Enums:添加枚举信息窗口。

常用快捷键:

Enter:跟进函数实现,查看标号对应的地址。

Esc:返回跟进处。

A:解释光标处的地址为一个字符串的首地址。

B:十六进制与二进制数的转换

C:解释光标处的地址为一条指令

D:解释光标处的地址为数据,每按一次将会转换这个地址的数据长度。

G:快速查找到应地址

H:十六进制数与十进制数转换。

K:将数据解释为栈变量。

;:添加注释。

M:解释为枚举成员。

N:重新命名。

O:解释地址为数据段偏移量,用于字符串标号。

T:解释地址为一个结构体成员。

X:转换视图到交叉参考模式。

shift+F9:添加结构体。