From: http://bbs.pediy.com/showpost.php?p=138590&postcount=2
要想学脱壳,第一步就得掌握PE格式,PE是Portable Executable File Format(可移植的执行体)简写,它是目前Windows平台上的主流可执行文件格式。
Microsoft Visual C++提供的WINNT.H里有PE数据结构的完整定义。
推荐文档:
ah007翻译的“PE文件格式”1.9版
qduwg翻译的PE文件格式
Iczelion's 的PE文件格式
微软官方提供的PE文档(英文)(Revision 8.1- March 27, 2008)
微软官方提供的PE文档(Revision 8.1)(zhzhtst翻译成中文)
探索PE文件内幕—— Win32可移植可执行文件格式之旅(zhzhtst翻译)
深入剖析Win32可移植可执行文件格式(zhzhtst翻译)
PE结构各字段偏移参考
学习PE格式的方法是自己先准备一个十六进制工具,如HexWorkshop,WinHex,用这些工具打开一个EXE文件对照着学。强烈推荐你用
Stud_PE v.2.2.0.5这款工具辅助学习PE格式。PE格式学习的重点是在输入表(Import Table)这块。
Stud_PE工具界面:
PE结构图: