tectionwithjavaclassfile.technologyisstudied.Thethesisdesignedthe
lexcial
conversionalgorithm
and
class'Sfalserefactor
algorithm,the
thesisimproved,perfectedthe
essence
classsplit
algorithm,and
fail,and
summarizedthedifferenceoftypehideobfuscation'S
and
interfacecall-backtechnology,thethesisdecompile
analysed
threecontrolflowobfuscationswhichmake
findouttwoobfuscationstrategiesaimingattheproblemwhich
a
program
slicethreatenscontrolflowobfuscation.Thethesisstudied
algorithm
Aim
is
whichincreases
watermarkingalgorithm'S
javabytecodewatermarkingresistibilityandtransparencybythe
betterment.
at
thetheorystudyresult,Thethesisdesignedandrealizedthesystemwhosename
Toolwhichcombinesobfuscation
JOCOW(Java
and
Watermarktechnology),the
Can
provide
users
use
thesystem
toprovideddoubleprotectiontoJavabytecode.
Itisimpossibletoprotectkavabytecode'Sabsolutesafety,butitprotecttionforjavabytecode
copyright
andmake
reverse
engineermeaningless.
Key
Words:Java
Bytecode;Obfuseation;Software
Watermarking;Program
Slice
H
第一章绪论
第一章绪1.1研究的背景
论
随着Java以及相关技术的快遽发展使得人们非常关心Java字节码的安全问题.Java字节码的反编译在Java语言雏形期就出现了,侵权使用Javaclass文件也是一个常见的问题,因而急需要找出一个有效的方法保护Java字节码的安全.混淆技术是为了防止逆向Java字节码而发展起来的一种新技术.软件水印是密码学,软件工程,算法设计,图论,程序设计等学科的交叉研究领域,可以为软件提供版权保护.这两种技术能缀好的解决Java字节码的安全问题.
1.2混淆技术的研究现状
对混淆技术进行系统的研究是从上个世纪90年代末开始的.这一领域中的大部分研究工谁是Collberg,Thomborson,Low,ChenxiWang,Hohl和Tsai做文的.Collberg首次对混淆转换进行了详细的总结,分类和评估【M】.将混淆转换分为四类:布局混淆转换;控制混淆转换;数据混淆转换;预防性混淆转换.提崽了四种混淆变换的评估标准:力度;抵抗力;执行代价;质量.并提出了构造廉价,高抵抗力,高力度的不透明谓词的理论pj.
Chenxi
Wang实现了在C语言源代码上的若干控制混淆转换与数据混淆转换,并分
析了混淆转换造成的性能过载问题以及混淆转换对静态分析工具的有效性14制.Hohl提出用带有时闻限制的黑盒方法来保护移动AgentI".这墨的黑盒是指混淆转换过的Agent程序.Hohl提出了一个协议用来检测移动Agent的运行,提出了针对可执行代码和汇编指令的混淆技术瞵J.2003年Mikhail
Sosonkin,GlebNaumovich,Nasir