我想要一个Ant任务来构建我的Java项目并使用ProGuard对其进行模糊处理。
我需要一个解码来编码像
这样的硬编码字符串 System.out.println("Hello");
String test = "Whats up";
System.out.println("Answer: " + test);
ProGuard不支持Strings的任何解决方案。我的想法是在混淆之前自动替换它。
我可以使用Javassist吗?我有两个解决方案的想法:
1 :创建JAR后,我用Javasisst覆盖字符串并添加类似
的方法 System.out.println(StringEncode.decode(1234));
String test = StringEncode.decode(633524236);
System.out.println(StringEncode.decode(88302) + test);
2 :在创建JAR之前,我复制源文件并将其替换为RegExpr。
我需要快速入门指南以获得最佳实践。
方法 StringEncode.decode(88302)就是一个例子。此静态方法将使用算法编码整数值到原始String。相同的algorhytm将用于编码。
我希望你能给我一个想法。
答案 0 :(得分:0)
<强>解决强>
我为此编写了一个自己的Ant任务。
<taskdef resource="task.properties" classpath="libs/ObfuscateStrings.jar" />
<obfuscatestrings dir="temp/" />