首页> 中文学位 >基于混沌理论的不透明谓词研究与应用
【6h】

基于混沌理论的不透明谓词研究与应用

代理获取

摘要

伴随着Java语言的快速发展,许多应用程序的开发都使用Java语言编写。但是Java程序的发布使人们很容易得到程序的Java字节码,通过逆向分析Java字节码很容易得到源程序的算法流程甚至源代码。因此迫切需要能够保护Java字节码的方法。代码混淆作为一种预防逆向分析的方法随之产生。不透明谓词(OpaquePredicates)是一种比较新的代码混淆方法。它能够通过改变程序的控制流来混淆代码,但又保持程序的运行结果不变,同时增加对程序的逆向分析难度,所以被认为是一种比较好的代码混淆方法。目前利用不透明谓词混淆代码,使用的是一些在理论上为真的数学表达式来作为不透明谓词插入到源代码中。这样的不透明谓词存在的缺点是形式过于简单、安全性不够好,逆向分析很容易过滤掉这些扰乱程序控制流的不透明谓词。
   为了克服目前利用简单方法构造不透明谓词的缺点。本文在综合了各种不透明谓词构造方法的基础上,将混沌理论与不透明谓词构造方法相结合,提出了一种新的混沌不透明谓词的构造方法。该方法构造的混沌不透明谓词不仅具备很好的混淆代码的能力,而且在安全性和抵抗逆向分析能力方面都有比较好的效果。本文的主要工作如下:
   1.对代码混淆技术和不透明谓词技术的研究进展做了一些分析,总结了目前不透明谓词的构造方法和如何在代码混淆中使用不透明谓词。随着逆向分析技术的发展,逆向分析的方法也是种类繁多,本文对常用的逆向分析方法进行了总结和概括。
   2.结合混沌理论提出了一种新的不透明谓词的构造方法,并根据新方法所构造的不透明谓词簇特点设计了利用N皇后问题来判断混沌不透明谓词输出的方法。为了方便利用新方法进行混淆转换,专门开发了一个利用新的混沌不透明谓词混淆代码的转换工具。该工具同时还集成了java程序的编译和打包功能。
   3.利用第三方工具SandMark对利用混沌不透明谓词进行代码混淆的性能,从不同的方面进行了评价。并依据评价的结果对如何有效利用混淆转换保护程序提出了相应的建议。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号