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

来源 :广东工业大学 | 被引量 : 1次 | 上传用户:magicglf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
伴随着Java语言的快速发展,许多应用程序的开发都使用Java语言编写。但是Java程序的发布使人们很容易得到程序的Java字节码,通过逆向分析Java字节码很容易得到源程序的算法流程甚至源代码。因此迫切需要能够保护Java字节码的方法。代码混淆作为一种预防逆向分析的方法随之产生。不透明谓词(Opaque Predicates)是一种比较新的代码混淆方法。它能够通过改变程序的控制流来混淆代码,但又保持程序的运行结果不变,同时增加对程序的逆向分析难度,所以被认为是一种比较好的代码混淆方法。目前利用不透明谓词混淆代码,使用的是一些在理论上为真的数学表达式来作为不透明谓词插入到源代码中。这样的不透明谓词存在的缺点是形式过于简单、安全性不够好,逆向分析很容易过滤掉这些扰乱程序控制流的不透明谓词。为了克服目前利用简单方法构造不透明谓词的缺点。本文在综合了各种不透明谓词构造方法的基础上,将混沌理论与不透明谓词构造方法相结合,提出了一种新的混沌不透明谓词的构造方法。该方法构造的混沌不透明谓词不仅具备很好的混淆代码的能力,而且在安全性和抵抗逆向分析能力方面都有比较好的效果。本文的主要工作如下:1.对代码混淆技术和不透明谓词技术的研究进展做了一些分析,总结了目前不透明谓词的构造方法和如何在代码混淆中使用不透明谓词。随着逆向分析技术的发展,逆向分析的方法也是种类繁多,本文对常用的逆向分析方法进行了总结和概括。2.结合混沌理论提出了一种新的不透明谓词的构造方法,并根据新方法所构造的不透明谓词簇特点设计了利用N皇后问题来判断混沌不透明谓词输出的方法。为了方便利用新方法进行混淆转换,专门开发了一个利用新的混沌不透明谓词混淆代码的转换工具。该工具同时还集成了java程序的编译和打包功能。3.利用第三方工具SandMark对利用混沌不透明谓词进行代码混淆的性能,从不同的方面进行了评价。并依据评价的结果对如何有效利用混淆转换保护程序提出了相应的建议。
其他文献
数据的指数级增长向世界互联网巨头Google、Yahoo、Amazon和Microsoft等这些处于市场领导地位的公司提出了挑战,它们需要分析TB级和PB级的海量数据以发现有价值的信息推荐给那
作者简介:  陈玲芳(1976.09-)女,湖南长沙人,硕士,现任教于湖南农业大学体育艺术学院,讲师。研究方向:环境设計。  [省哲学社科课题:基于乡村旅游背景下的湖南民宿创新设计研究]
期刊
作为海洋监测的理想媒介以及无线传感器网络的新兴应用——水下声学传感器网络具有广泛的发展前景,例如:对目标海域进行实时性监控,探索海洋资源、监测海洋环境和辅助导航等。无
急跌不仅意味着地方政府可支配收入的减少,而且影响到土地作为抵押品的融资能力。如果土地出让金下降,政府债务风险将更加凸显。因此,对地方政府而言,找到其他财源不是一日之功,消化库存是提振市场的关键。  沈阳市北郊的沈北新区某楼盘销售大厅内,接待一对母子的售楼小姐扭脸向不远处的男业务员大声询问:“信用卡有5次逾期是可以贷款的吧?”男业务员想都没想,给了她一个非常确定的答案:“能贷能贷”。她的客户听到这句
智能电网的提出,促进了配电网自动化的发展。在中压配电网中,一般采用谐振接地方式,单相接地故障发生几率高,快速定位故障区段难度大,迫切需要一种有效的方法分析故障数据、定位故障区段和辨识故障类型。本文采用分布计算技术,研究小电流故障定位方法,对识别线路故障意义重大。本文结合配电网小电流故障的特点,给出零序电流差值比较的定位方法。在此基础上,给出基于差异演化算法的主-从区域故障定位分析方法。针对差异演化