Java反编译与代码保护技术解析
1. Java反编译工具介绍
1.1 反编译工具分类
早期的反编译工具例如Mocha和DejaVu,无法处理内部类,被归为第一代反编译工具。而像SourceAgain这类能处理内部类,支持到JDK 1.3,还能对混淆代码进行变量名处理的反编译工具,则属于第二代。
1.2 常见反编译工具
1.2.1 SourceAgain
Ahpah Software宣称SourceAgain可以反编译所有Java语言结构。它能有效区分第一代和第二代反编译工具,不仅能处理内部类,还可对混淆代码的变量和方法名进行处理。
1.2.2 The Java Decompiler (JAD)
- 特点 :速度快、免费且高效,是最早能正确处理内部类的反编译工具之一,也是使用最简单的命令行工具。最后可用版本是2001年11月的v1.58,已知主要问题是处理内联函数效果不佳,但由于多数编译器将内联操作交给JIT引擎,这通常不是问题。
- 使用方法 :多数情况下,只需在命令行输入
jad target.class即可。 - 独特功能 :能将类文件字节码的相关部分标注在反编译后的源代码中,便于理解字节码。此外,有许多GUI工具将JAD作为反编译引擎,如NMI9和Front End Plus。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



