我想要一个Ant任务来构建我的java项目,并与ProGuard混淆。
我需要一个解决方案来编码硬编码字符串,如
System.out.println("Hello");
String test = "Whats up";
System.out.println("Answer: " + test);
ProGuard不支持字符串的任何解决方案。我的想法是在混淆之前自动替换它。
我可以使用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。
我需要一个最佳实践的快速入门指南。
Method StringEncode.decode(88302)是一个示例。这个静态方法将用一种算法将整数值编码为原始字符串。编码将使用相同的算法。
我希望你能给我一个主意。
已解决。
我已经写了一个自己的Ant Task。
<taskdef resource="task.properties" classpath="libs/ObfuscateStrings.jar" />
<obfuscatestrings dir="temp/" />