我曾经使用过Java混淆器,但有一些很容易被逆向工程。我认为它可能没有混淆得足够。
对于应用两个阶段的混淆,是否错误或存在问题?
- 使用ProGuard进行混淆
- 最后使用商业产品Zelix Klassmaster
--
这是一个不好的方法吗?只应该使用一个混淆器吗?
我曾经使用过Java混淆器,但有一些很容易被逆向工程。我认为它可能没有混淆得足够。
对于应用两个阶段的混淆,是否错误或存在问题?
--
这是一个不好的方法吗?只应该使用一个混淆器吗?
class COM1 { ... }
反编译会生成一个名为COM1.java的文件,这不是一个有效的Windows文件名,因此会破坏许多反编译器。
解决方法是首先使用名称字典(如class1、class2、method1、method2、field1、field2)重新混淆,然后再进行反编译。反编译代码现在不仅更有效,而且更易读。
通常,连续使用混淆器会导致混淆代码与最后一个使用的混淆器一样强。(即链条的强度取决于最后一个环节)
我建议您坚持使用一个混淆器,但确保您了解混淆过程中的每个选项以及撤销操作的难易程度。