【硕士论文】Java字节码混淆算法研究.pdf

【硕士论文】Java字节码混淆算法研究.pdf

ID:32021031

大小:3.00 MB

页数:99页

时间:2019-01-30

【硕士论文】Java字节码混淆算法研究.pdf_第1页
【硕士论文】Java字节码混淆算法研究.pdf_第2页
【硕士论文】Java字节码混淆算法研究.pdf_第3页
【硕士论文】Java字节码混淆算法研究.pdf_第4页
【硕士论文】Java字节码混淆算法研究.pdf_第5页
资源描述:

《【硕士论文】Java字节码混淆算法研究.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、摘要随着计算机网络和分布式系统的发展,对软件的平台无关性、可移植性提出了更高、更迫切的要求。在这种情况下,Java平台产生了,提出了一种解决软件的可移植性和平台无关性的方案。但是由于Java虚拟机指令系统过于简单,且class文件包含了大量可以被反编译利用的信息,Java较以前的c、C++等要容易反编译。这样一来软件开发者的知识产权得不到保障。为解决这一问题,许多专家、学者提出对Java字节码进行混淆的方案,并且进行了大量的研究。这些研究呈现以下特点:1.对程序的控制流研究较多,而对程序的数据流研究较少;2.很多控制流混淆算法或者是利用不透明谓词进行混淆或者是利用Java语言和Jw在设计上的间

2、隙进行混淆。这些混淆方法难抵挡动态攻击和模式匹配的反混淆攻击。针对以上倩况,本文对以前的控制流分析算法、Java虚拟机指令系统的特点和Java字节码验证过程进行了分析和比较,并且结合对Java字节码进行混淆这一目标,把类型模拟引入控制流分析过程中。这样一来不仅得到Java方法的控制流图,而且得到大量基本块的执行环境的信息,如:栈、局部变量等。这些信息对混淆十分有用,为Java控制流混淆奠定了坚实的基础。本文在对控制流图的可归约性、等价性、结点分裂变换等的研究基础上,运用可归约流图的性质和判定,提出了基于不透明谓词的大三角形构造、圈交叉、if和switch交叉、循环和switch交叉等控制流混淆

3、算法。这些算法破坏了原Java方法控制流图的可归约性。同时本文也给出了部分已有的控制流混淆算法是否破坏原Java方法控制流图的可归约性的判定。针对不透明谓词难抵挡动态攻击这一弱点,本文提出了利用“垃圾代码”进行控制流混淆的思路,并且在这一思路的基础上给出“分支垃圾代码”和“循环垃圾代码”两个具体应用。针对数据流混淆中判定某个局部变量在程序的某个基本块中是否可引用或者可被赋值的问题,本文结合已有的求控制流图的必经结点算法,提出了下列两个算法:1.求任意图的两个结点之间的所有路径的必经结点的算法。2.图中任意两个结点之间的所有路径是否必须经过它的顶点集的某个子集中至少一个结点的判定算法。并且,本文

4、给出一系列定理证明来保证算法的正确性和有效性。运用这些算法和定理,本文解决了在新插入的代码或者用于替换的代码中,引用原程序的某些局部变量,和对原程序的某些局部变量进行重新赋值的问题。混淆后的程序能够通过字节码验证,且不改变程序的运行结果。同时本文对结构混淆、数据变换混淆等进行了简要的介绍。关键词混淆控制流分析类型模拟数据流混淆JavaIIAbstraotthedevelopmentofthemtemetanddistributedsystems,itreqllir龆thatAlongwithtllesoftwareisirrelativeⅥdthtlleruntimeplatform,andc

5、anbetransplantcd·Underthiscondifion,tlleJavaappear,衄dputfo】nⅣ盯dawaywIlichcfinsolvethisquestion。BecauselheJVMinstructionsyStemistoosimple,andi协d鹤s旬衄a士mclud鼯a10tofmformationwllichismefulforthe缸ti一∞mpfle,tl坞anti-compileofJavaiseasi盯thantheC,(、斗+。hOrd盯tolheofthe∞ft'Ⅳarcproteetknowledgepropertyrightdevel

6、op盯,manye'Ape'l'ttSputforwardconfusingtbebytecodeofJava,andhavecarriedOna鲥tdcalofresearch。Theer瞄疵h嚣havetllefollowingch硝lc嘧jsti嚣:1.Studytomecontr01flowismorclh锄studytollledamflowa2.Alotofcontrolflowconfusionisb船edOntl坞opaque删icatcorthecl硪betweenn地JavalanguageandJVMinthedesign·Itisdi施eulttor豁isttlledy

7、namicattackOr缸m·eonfusionb∞edontllemodelmatchforth韶econtrolflowconfusion。Accordingt0theabovecircumstance,thearticleearri嚣oman舢isandeompariso∞Onthecontrolflowanalyticalarithmeticoftllep勰t,theJVMinstruc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。