逆向工程
逆向工程(RE):一般指通过分析物体、设备或系统了解其结构、功能以及行为等,掌握其中的原理并改善不足之处。
代码逆向工程
代码逆向工程(RCE):是逆向工程在软件领域的应用。
逆向分析的方法
静态分析
静态分析是在不执行代码的情况下对代码进行分析,包括:文件类型、大小、PE头信息、Import/Export API、内部字符串、是否运行时解压、注册信息、调试信息、数组证书等。
动态分析
动态分析是在程序文件的执行过程中对代码进行分析,包括:代码流、内存状态等。
源代码、十六进制代码、汇编代码
- 源代码:编写的原始代码
- 十六进制代码:将程序源码编译为0和1的二进制的可执行文件后,进而转为16进制(工具:Hex Editor)
- 汇编代码
“打补丁”与“破解”
- “打补丁”:指对程序文件或进程内存内容的更改。
- “破解”:与“打补丁”类似,但是是非法行为。
参考文献
《逆向工程核心原理》