欢迎来到天天文库
浏览记录
ID:34059007
大小:2.55 MB
页数:77页
时间:2019-03-03
《基于windows平台的标代码混淆》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、电子科技大学硕士学位论文基于Windows平台的目标代码混淆姓名:李勇申请学位级别:硕士专业:计算机软件与理论指导教师:左志宏20070423摘要逆向工程领域的进步与发展,一方面提高了对软件的分析能力;另一方面,恶意的逆向分析给软件安全带来更大的挑战。针对日益严重的软件安全问题,除了法律方面出台与知识产权相关法律法规对软件产品加以保护以外,软件开发者这边也是采用了许许多多的软件保护技术。本文所研究探讨的是一种抵制静态逆向分析的软件保护技术——目标代码混淆,并最终实现了一个基于Windows平台的目标代码混淆器。本文从介绍常见的软件保护技术入手,引出了一种新的软件保护技术,就是代码
2、混淆技术。代码混淆技术是一种非常年轻的软件保护技术,它的兴起缘于跨平台的JAVA语言的迅猛发展。代码混淆的思想应用到目标代码上就出现了目标代码混淆,它不同于对源代码的混淆和对中间代码的混淆。本文介绍了逆向工程的分析技术,并引入目标代码混淆的概念,介绍了目标代码混淆技术的分类,并通过大量的实例尽可能地详细介绍现有的目标代码混淆技术。根据逆向工程静态分析的特点,了解静态分析对控制流信息的依赖,本文研究三种对抗静态分析的混淆变换技术,分别是控制流信息隐藏技术,代码节分段加密技术以及增强型随机花指令技术。控制流隐藏技术从静态分析对控制跳转信息的依赖出发,修改目标代码中子函数直接调用指令成
3、为间接调用指令,使得调用指令的目的地址需要在运行时动态确定,从而隐藏控制流信息。代码节分段加密技术通过对目标代码文件中的代码节采用随机分段加密技术使得代码数据完全改变。增强型随机花指令技术一改传统在无条件指令后面插入花指令的方法,通过构造花指令环境以及不透明断言的应用,构造假分支在条件跳转指令后面插入随机花指令。由于控制流信息隐藏技术和增强型随机花指令技术都需要获取指令流,因此Windows平台下的目标代码混淆器的实现首先需要通过反汇编来获取指令流,本文分析介绍了Intelx86指令系统以及Windows平台下的PE文件格式信息,设计并实现了一个基于控制流的静态反汇编引擎。文章最
4、后通过实验证明了该混淆器对静态分析的混淆效果。关键词:代码混淆,逆向工程,反汇编,静态分析AbstractTheadvanceofreverseengineering岫proVcssoRwareanalysisononeside,and011theotherside,maliciousreverseanalysisthreatenssoftwaresecuritygreatly.Toresolvemoreandmoresoftwaresecurityproblems,somelawsaboutknowledgepropertyands01.aresecurityhavebeend
5、rawnandcardedout,andontheotherhand,softwaredevelopersfindoutmanydifferentmethodstoprotectsol'ware,preventthemfrommaliciousanalysis.hlthispaper,anobjectcodeobfuscationmethodisprovidedtodefendstaticanalysis,andallobjectcodeobfuscatoronWindowsplatformisdevelopedandimplemented.Thispaperbeginswith
6、someconlmonsoftwareprotectionmethods,introducesanewandyoungsoftwareprotectionmethodwhichiscodeobfuscation.CodeobfuscationisaveryyoungsoftwareprotectiontechniqueandgrowswitllJAVA's-spreading.Objectcodeobfuscationistheemphasisofthisarticle,anditisdifferentfromsourcecodeobfuscationandmiddlecodeo
7、bfuscation.Thispaperintroducesreverseengineeringandreverse-analysistechniquesfirstly,andthenintroducestheconceptofobjectcodeobfuscation,classificationofobjectcodeobfuscation,andintroducedcurrentvariousobjectcodeobfuscation惭t11manyinstances.Ac
此文档下载收益归作者所有