摘要 | 第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页 |