要想学脱壳,第一步就得掌握PE格式,PE是Portable Executable File Format(可移植的执行体)简写,它是目前Windows平台上的主流可执行文件格式。
Microsoft Visual C++提供的WINNT.H里有PE数据结构的完整定义。
推荐文档:
ah007翻译的“PE文件格式”1.9版
qduwg翻译的PE文件格式
Iczelion's 的PE文件格式
PE结构各字段偏移参考
微软官方提供的PE文档(Revision 8.0 - May 16, 2006)
学习PE格式的方法是自己先准备一个十六进制工具,如HexWorkshop,WinHex,用这些工具打开一个EXE文件对照着学。强烈推荐你用Stud_PE v.2.2.0.5这款工具辅助学习PE格式。PE格式学习的重点是在输入表(Import Table)这块。
Stud_PE工具界面:
PE结构图:
注:转摘看雪学院