Ja程序混淆技术综述

时间:2024-01-16 点赞:47475 浏览:92617 作者原创标记本站原创

本文是一篇计算机论文范文,计算机类硕士论文开题报告,关于Ja程序混淆技术综述相关学年毕业论文范文。适合计算机及计算机工程及知识产权方面的的大学硕士和本科毕业论文以及计算机相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:随着计算机技术突飞猛进的发展,人们对于支持计算机各种运行的软件技术开始逐步的关注,其中混淆技术在地址逆向工程和重组工程中占据了重要的位置,本文将主要阐述混淆技术的相关领域概念包括发展中不断推演的理论、算法和评估.然后在通过将理论和算法应用到混淆技术的两个分支类内混淆和类间混淆详细说明,结尾通过目前Ja程序混淆技术的发展现状,进行对未来发展的客观估计、大胆假设以及深切的期望.

关 键 词:Ja程序;混淆技术;软件水印;防篡改;软件版权保护

中图分类号:TP311.52文献标识码:A文章编号:1007-9599(2012)09-0000-02

人们对于计算机的依赖性随着软件技术的不断给人们带来便利和乐趣,使工作更富有主动性和操作性,但是任何事物在发展过程中都会有其负面效应与之相对,随着计算机软件应用量和种类的不断扩展,其使用安全问题便开始影响到人们的正确使用,并开始逐渐打击使用计算机的积极性,以及对于安全问题的无奈.主要攻击形式是通过对软件备份的破坏而直接将软件彻底摧毁,根据现有问题,当前的软件已经经过改良,重新调试,但是攻击则换角度也将攻击方式进行重组,使改良的部分无法发挥其作用,这样软件就不会得到应有的保护,依旧能够以非正规途径得到软件的任何数据,从而进行大面积的传播,这也就是为何当今软件盗版现象严重的途径之一.Ja程序的出现,首先能够在网络上加快传播速度并且无客观条件可以轻松普及,但同时却能够通过无关性对产权进行有效的保护,不会轻易的被人盗用.

一、软件混淆技术基本原理

(一)基本释义

软件混淆技术是为了能够在软件受到侵害或是盗用时可以被保护的一种现代技术,软件技术首先咋1977年新西兰首次被提出,其实是将原有的程序的语言转换成一种语言,不能被一般的软件所识破的一种转换,并且研制出能够对这种转换进行评估的理论计算.转换的形式未变,只是在形式上保留原有的运行根组成,添加一些其他能够扰乱破坏和读取的程序代码.如今混淆技术开始不断的发展,诸多的被应用于产权的保护中,所谓的混淆就是通过语词的转变但保持其语义依然与之前相同,这就能保证软件在使用时功能是不变的,却能够防止逆向工程攻击和被静态分析.

(二)软件混淆技术的分类

当Ja文件经过处理,在原有的基础上添加了其他程序代码成为类文件,这种类文件包括魔数(magicnumber)、版本(version)、常量池(constantpool)、访问标识(acceslags)、(this)类、(super)类、接口(interfaces)、域(fields)、方法(methods)和属性(attributes).

软件混淆主要通过类内混淆和类间混淆来根据不同的使用对象进行划分,类内混淆主要是克服(methods)中的code字段,而类间混淆却是针对多种类文件的综合体进行混淆处理,其主要的方式是合并和拆分相对的过程处理.

下面分别介绍两种混淆.

(1)、类内混淆

能够支持类内混淆的途径有数据混淆、控制混淆、切片混淆以及针对特定工具混淆四种.数据混淆是对数据的结构组成元素原有的书写方式进行修改,使其不再成为能够被认知的程序.主要有:变量存储和编码混淆、变量聚合混淆、顺序调整混淆、词法混淆以及移除注释和调试信息混淆.控制混淆是在信息传输过程中的保护,主要采取追踪定位等方式实时监测信息的状态,从而对其他袭击系统进行抵御.切片混淆,正常在一般的软件中问了能够让计算机更好的识读软件,所以增加了切片以帮助更好的理解,降低难度,而混淆了切片则能够使其首先无法有助于难度的下降,另外会造成对于程序的误导可能降低了或是更改了某些其他的程序,达到了增加难度混淆的目的.针对特定工具混淆软件为了能够起到保护作用,本身具有一定的反编译和反混淆的功能,会在一定的紧急时刻自动启动,而针对特定工具就是抑制了自动的传导,对于能够使软件本身内部之间的反编译都可以正常的进行,但是对于外部的反编译就不会在自动启动,这就是混淆的高级之处.相区别与前三者人的行为,针对特定工具混淆具有自动的功能针对的是自动化.如果能够与以上三种任意搭配就能够达到防住人机的共同目的.

(2)、类间混淆

类间混淆是合并拆分类文件而造成混淆的目的其中又有三种表现形式:类合并、类拆分、隐形类间混淆.类合并是要面对多个文件的自身组成的函数变量,通过将函数、变量的名称进行更改,注意在更改过程中一定不能同时出现两个或以上的名子,如果在合并中有参数同系统提示无法进行更改,则要为其中一个虚拟一个参数.另外如果合并文件中有继承关系的则需要在合并成功后加入一个布尔型的私有变量用于区分标识符相同的函数.类拆分则是观察现有的文件是否进行拆分,同时并作出相应的调整.对于结果是可拆分的类就是将A拆分为A1与A2,为了能够使A的要素都能够实现所以应该是A2处于继承A1关系.类型隐藏是通过接口来实现混淆,并且能够保证原文件并不需要改变接口,所以被称为隐形.相比类合并,类拆分和隐形类间混淆所用的时间相对较短.

二、软件混淆算法的攻击模式

混淆算法的理论研究

混淆技术的提出者曾经试图将整个运行过程当做是一个虚拟黑箱来看,也就是说对于其他程序来说这就完全是另外一个软件和原软件无任何联系,从它的输入和输出的方式内容和代码都不同,这种在理论中是可以站的住的,但是在实际操作中会受到很多因素的限制,但在相对宽松的要求下还是可以实现混淆技术的使用.后来又根据该理论研究通过点函数来实现虚拟黑箱,总而言之其未来的研究空间还有很大,期待它的日益成熟.

混淆算法的攻击模式

1.针对数据混淆算法的攻击

假定T是对程序P的一个单向的混淆变换,当且仅当从原始程序P除去某些信息后,无法通过混淆后的程序Pc恢复出P.词法变换是最典型的不可逆混淆算法.虽然对于经过词法变换的程序进行攻击不可能恢复程序的原貌,但只要理解程序各个模块的含义就可能对程序产生威胁.例如根据无法被混淆的系统API名称等关键字,攻击者可以推测出该模块的大致功能.2.针对控制流混淆算法的攻击

目前,针对控制流混淆算法的主要攻击方法是动态分析.动态分析对大部分混淆算法的攻击作用,并阐述攻击模型.对于控制流混淆而言,变换后生成的程序中若存在始终不执行的分支,通过动态分析就能找到对程序有用的信息.针对控制流混淆,还有黑盒测试攻击,该方法通过对程序进行黑盒测试,了解各个类及其函数的功能,从而获取攻击者需要的信息.这种方法对大多数的混淆变换均能加以攻击.同时,该方法也存在着一定的局限性:黑盒测试缺乏自动分析工具,需要依靠大量的人力来完成分析工作.

三、对于混淆技术的未来预估


混淆技术是一种可用于抵制逆向工程和重组工程、对软件知识产权进行保护的程序变换技术.使用混淆技术虽然会使代码的效率有一定程度的降低,但是它的实现代价相对较小,因而在近年引起了广泛的关注.由于混淆技术不改变程序功能的特性,并且有些词法混淆算法甚至可以减小原程序的体积,因此混淆技术得以在保护移动代码方面得到广泛的应用.受移动平台资源的限制,今后混淆技术的研究方向一方面要加大混淆的力度,增加攻击者反编译的难度,另一方面也要考虑降低混淆算法对目标程序的运行负担.文献探讨了混淆技术在移动代理上的应用.目前保护软件知识产权的新技术主要有3种:混淆技术、软件水印技术和防篡改技术.这3种技术各有特长,将它们互相结合使用,可以给予目标软件更为可靠的保护,这也是目前研究的一个重要方向.对于混淆算法的评估、正确性验证以及如何研制高效可靠的混淆算法,也是将来的发展方向之一.

四、总结

混淆技术是对软件进行的基础产权保护,为了能够增加破译的难度和代价,从而使产权盗版的情况发生率降低,同时还能提高软件水银的鲁棒性,有人提出将程序的编译混淆,而不是混淆程序本身.但是该方法还有若干问题需要考虑.使软件的安全度进一步提升,给人们的使用带来了更多的福音,虽然该技术已经广泛运用也颇收到好评,在技术上依旧有大的发展前景,需要投入更多的研究力量.

相关论文

Ja程序混淆技术的最新进展

本文是一篇知识产权论文范文,知识产权有关毕业论文开题报告范文,关于Ja程序混淆技术的最新进展相关毕业论文的格式范文。适合知识产权及数据。

Ja代码混淆技术

本文是一篇知识产权论文范文,知识产权方面函授毕业论文,关于Ja代码混淆技术相关毕业论文提纲范文。适合知识产权及数据结构及程序方面的的大。

代码动态生成技术提升Ja程序灵活性

本文是一篇代码论文范文,关于代码方面大学毕业论文,关于代码动态生成技术提升Ja程序灵活性相关电大毕业论文范文。适合代码及方法及文件方面。

网页报表实现技术综述

本论文是一篇软件开发有关学术论文格式,关于网页报表实现技术综述相关学年毕业论文范文。免费优秀的关于软件开发及数据库及报表方面论文范。

JA程序设计教学

关于计算机及计算机软件技术及学生方面的免费优秀学术论文范文,关于计算机方面教学论文题目,关于JA程序设计教学相关论文范文文献,对写作。

农业节水灌溉技术综述

本文是一篇高级工程师论文范文,关于高级工程师毕业论文格式模板,关于农业节水灌溉技术综述相关在职研究生毕业论文范文。适合高级工程师及工。

基于建筑工程后浇带施工技术综述

本文关于施工技术及建筑工程及混凝土方面的免费优秀学术论文范文,关于施工技术类论文范文集,与基于建筑工程后浇带施工技术综述相关函授毕。

Ja异常处理技术应用

本论文是一篇参考文献类有关学术论文前言,关于Ja异常处理技术应用相关毕业论文格式范文。免费优秀的关于参考文献及程序及语句方面论文范文。