逆向工程
逆向工程(RE):一般指通過分析物體、設備或系統瞭解其結構、功能以及行爲等,掌握其中的原理並改善不足之處。
代碼逆向工程
代碼逆向工程(RCE):是逆向工程在軟件領域的應用。
逆向分析的方法
靜態分析
靜態分析是在不執行代碼的情況下對代碼進行分析,包括:文件類型、大小、PE頭信息、Import/Export API、內部字符串、是否運行時解壓、註冊信息、調試信息、數組證書等。
動態分析
動態分析是在程序文件的執行過程中對代碼進行分析,包括:代碼流、內存狀態等。
源代碼、十六進制代碼、彙編代碼
- 源代碼:編寫的原始代碼
- 十六進制代碼:將程序源碼編譯爲0和1的二進制的可執行文件後,進而轉爲16進制(工具:Hex Editor)
- 彙編代碼
“打補丁”與“破解”
- “打補丁”:指對程序文件或進程內存內容的更改。
- “破解”:與“打補丁”類似,但是是非法行爲。
參考文獻
《逆向工程核心原理》