| 摘要 | 第1-5页 |
| Abstract | 第5-9页 |
| 1 引言 | 第9-11页 |
| ·课题背景 | 第9-10页 |
| ·加壳技术现状 | 第10页 |
| ·课题研究内容 | 第10-11页 |
| 2 PE文件 | 第11-27页 |
| ·PE文件概述 | 第11页 |
| ·PE文件结构 | 第11-26页 |
| ·DOS MZ Header | 第12-13页 |
| ·DOS Stub | 第13页 |
| ·PE Header | 第13-16页 |
| ·OptionalHeader | 第16-20页 |
| ·Section Table | 第20-22页 |
| ·Sections | 第22-24页 |
| ·Export Table | 第24页 |
| ·Import Table | 第24-26页 |
| ·小结 | 第26-27页 |
| 3 加壳与反脱壳技术 | 第27-33页 |
| ·加壳 | 第27页 |
| ·反脱壳技术 | 第27-32页 |
| ·花指令 | 第27-29页 |
| ·SEH(Structured Exception Handling)的利用 | 第29-31页 |
| ·IAT(Import Address Table)加密处理 | 第31-32页 |
| ·小结 | 第32-33页 |
| 4 加壳方案设计与实现 | 第33-52页 |
| ·UPX加壳软件 | 第33-34页 |
| ·加壳方案 | 第34-37页 |
| ·总体方案 | 第34-35页 |
| ·压缩算法的选择 | 第35-36页 |
| ·编程语言选择 | 第36页 |
| ·模块划分 | 第36-37页 |
| ·加载程序设计与实现 | 第37-44页 |
| ·反汇编、反调试功能 | 第37-38页 |
| ·IAT的加密与恢复 | 第38-41页 |
| ·原文件解压及恢复 | 第41-44页 |
| ·加壳程序设计与实现 | 第44-47页 |
| ·PE文件的打开与检测 | 第45-46页 |
| ·PE文件分析与压缩 | 第46-47页 |
| ·修改加载程序的PE头 | 第47页 |
| ·界面设计 | 第47-50页 |
| ·程序结果测试 | 第50-51页 |
| ·小结 | 第51-52页 |
| 5 结论 | 第52-53页 |
| ·总结 | 第52页 |
| ·课题的创新之处 | 第52页 |
| ·未来研究方向 | 第52-53页 |
| 参考文献 | 第53-55页 |
| 在学研究成果 | 第55-56页 |
| 致谢 | 第56页 |