| 摘要 | 第1-6页 |
| ABSTRACT | 第6-11页 |
| 第一章 引言 | 第11-16页 |
| ·研究背景 | 第11-12页 |
| ·国内外研究现状 | 第12-13页 |
| ·论文的研究意义 | 第13-14页 |
| ·论文的主要工作和组织 | 第14-16页 |
| 第二章 相关技术背景 | 第16-27页 |
| ·UNIX 可执行文件格式 | 第16-17页 |
| ·PE 可执行文件格式 | 第17-19页 |
| ·ELF 可执行文件格式 | 第19-20页 |
| ·Linux 动态装载器 | 第20-25页 |
| ·Linux 内核模块格式 | 第20-23页 |
| ·Linux 内核模块的优缺点 | 第23页 |
| ·Linux 用户态装载器 | 第23-24页 |
| ·Linux 用户态装载器的优缺点 | 第24-25页 |
| ·相关加密算法 | 第25-26页 |
| ·RC4 算法 | 第25页 |
| ·SHA‐1 算法 | 第25页 |
| ·RSA 算法 | 第25-26页 |
| ·本章小结 | 第26-27页 |
| 第三章 aELF 的设计与实现 | 第27-46页 |
| ·aELF 文件格式的设计 | 第27-33页 |
| ·模块属性信息 | 第28-29页 |
| ·符号与库 | 第29-30页 |
| ·名字标示符 | 第30页 |
| ·导入与导出库 | 第30-33页 |
| ·aELF 文件格式的实现 | 第33-41页 |
| ·aELF 模块创建过程 | 第33-35页 |
| ·特殊区段 | 第35页 |
| ·重定位 | 第35-36页 |
| ·导出文件 | 第36-37页 |
| ·导入与导出库的生成 | 第37-41页 |
| ·aELF 加密与压缩的设计与实现 | 第41-43页 |
| ·RSA 签名算法 | 第41-42页 |
| ·RC4 加密算法 | 第42-43页 |
| ·SHA‐1 散列算法 | 第43页 |
| ·aELF 文件格式的后期处理 | 第43-45页 |
| ·本章小结 | 第45-46页 |
| 第四章 aELF 动态链接器的设计与实现 | 第46-60页 |
| ·aELF 动态链接器的设计 | 第46-50页 |
| ·aELF 装载 API 接口 | 第47-48页 |
| ·aELF 装载过程 | 第48-49页 |
| ·aELF 错误处理 | 第49-50页 |
| ·aELF 链接器的可移植性 | 第50页 |
| ·aELF 动态链接器的实现 | 第50-59页 |
| ·源代码的组织结构 | 第50-51页 |
| ·加载模块 | 第51-55页 |
| ·校验与解密 | 第52-53页 |
| ·装载区段至内存 | 第53页 |
| ·处理符号表 | 第53-54页 |
| ·处理重定位信息 | 第54-55页 |
| ·查找模块属性信息 | 第55页 |
| ·启动模块 | 第55-57页 |
| ·终止模块 | 第57页 |
| ·卸载模块 | 第57-58页 |
| ·查询模块 | 第58-59页 |
| ·本章小结 | 第59-60页 |
| 第五章 aELF 及加载器的应用设计 | 第60-65页 |
| ·aELF 音乐播放器 | 第60-61页 |
| ·基本设计 | 第60-61页 |
| ·实现 | 第61页 |
| ·应用 aELF 及加载器改造 aCoral 内核结构 | 第61-63页 |
| ·需求 | 第62页 |
| ·设计 | 第62页 |
| ·实现 | 第62-63页 |
| ·本章小结 | 第63-65页 |
| 第六章 系统测试 | 第65-73页 |
| ·aELF 装载器的测试 | 第65页 |
| ·自动化测试方案 | 第65-71页 |
| ·onlyLib | 第65-66页 |
| ·basicLoading | 第66页 |
| ·syslibcTester | 第66页 |
| ·serverClient | 第66-69页 |
| ·weakStub | 第69-70页 |
| ·mad | 第70-71页 |
| ·aELF 模块安全性测试 | 第71-72页 |
| ·aELF 文件大小测试 | 第72页 |
| ·本章小结 | 第72-73页 |
| 第七章 总结与展望 | 第73-75页 |
| ·本文的主要贡献 | 第73页 |
| ·下一步工作展望 | 第73-75页 |
| 附录 ELF 文件格式 | 第75-81页 |
| 致谢 | 第81-82页 |
| 参考文献 | 第82-86页 |
| 攻硕期间取得的研究成果 | 第86-87页 |