Ant - 替换/编码字符串

时间:2014-03-21 16:33:20

标签: java ant

我想要一个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将用于编码。

我希望你能给我一个想法。

1 个答案:

答案 0 :(得分:0)

<强>解决

我为此编写了一个自己的Ant任务。

 <taskdef resource="task.properties" classpath="libs/ObfuscateStrings.jar" />
 <obfuscatestrings dir="temp/" />