混淆是一种可以用于对移动代码和软件知识产权进行保护的程序变换技术。本文首先介绍了逆向工程和混淆技术原理,然后针对Java语言的跨平台性,对基于Java字节码的混淆算法进行了研究,该方案增加了生成字节码文件的复杂性;增加了抵抗攻击者动态分析的能力,增加了反编译的难度。