- 名词
逆向工程(Reverse Engineering,简称RE);代码逆向工程(Reverse Code Engineering,简称RCE)。
- 逆向分析方法
静态分析:不执行代码,观察外部特征、获取文件类型、大小、PE头信息、Import/ExportAPI、内部字符串、是否运行时解压缩、注册信息、调试信息、数字证书等。同时还经常使用反汇编工具查看内部代码、分析代码。
动态分析:程序文件执行过程中分析,通过调试来分析代码流,获得内存的状态。可以观察文件、注册表、网络等的同时分析软件的行为。此外动态分析常用调试器分析程序的内部结构与动作原理。
- 源代码、十六进制代码、汇编代码
平时编程写的代码被称为源代码(vs2015):
写完代码进行编译链接之后生成的可执行文件,用相关工具打开,就能看到十六进制机器码。(010Editor)
汇编代码是源代码编译生成的,也可以是通过反编译工具对生成的可执行程序进行反汇编得到。(IDA/OD)