第1章 关于逆向工程

1. 逆向工程

逆向工程(Reverse Engineering,简称PE).

2. 代码逆向工程

代码逆向工程(简称RCE)

2.1 逆向分析法

  • 1. 静态分析法
    静态分析法是在不执行代码文件的情况下,对代码进行静态分析.靠观察代码文件 的外部特征,获取文件的类型(EXE,DLI,DOC,ZIP等),大小,PE头信息,Import/Export API, 内部字符串,是否运行时解压缩,注册信息,调试信息,数字证书等多种信息.

  • 2. 动态分析法
    动态分析法是在程序文件执行过程中对代码进行动态的分析,它通过调试来分析代码流,获得内存的状态等.

一般先用静态分析法收集代码信息,然后通过收集到的信息推测程序的结构和行为机制.

2.2 源代码,十六进制代码,汇编代码

源代码(Source Code)->十六进制代码(Hex Code)->汇编代码(Assembly Code),即把待分析代码转换为汇编代码后才分析.

2.3 “打补丁”与”破解”

打补丁(Path)与破解(Crack)的区别在于道德问题.

2.4 代码逆向准备

目标&激情&谷歌

2.5 学习逆向分析技术的禁忌

勿贪心勿急躁