我们将混淆我们的项目,但不想失去远程调试和热插拔的能力。
有可能吗?哪些工具可以处理这种情况?我喜欢简单的混淆--只需重命名类/方法/变量即可。
我们正在使用Intellij IDEA,但找不到任何用于此任务的插件。
发布于 2009-09-03 07:50:31
我们有同样的需求(简单的混淆,需要稍后调试),我们使用ProGuard。它是一个Java应用程序,可以集成到Ant任务中。
它可以做很多事情,但它也是完全可调的。所以你可以让你的混淆变得简单。其中一个选项是生成一个“符号对应表”,它允许您从混淆的代码中检索未混淆的代码。(它跟踪qksdnqd类中的变量xyz实际上是MeaningfulClassName类中的myCuteVarName )
编辑:混淆可能会很棘手。下面是一些例子:
Edit2:您还可以看到:
发布于 2009-10-03 05:01:43
参见SD Java Obfuscator。它去掉注释和空格,并重命名所有非公共的成员/方法/类名。
它还为你提供了代码如何被混淆的地图,例如,对于每个符号FOO混淆为XYZ,一个地图FOO->XYZ。这意味着如果你得到一个提到XYZ的回溯,你可以很容易地确定原始的符号FOO。当然,因为只有你(做模糊处理的人)有这个映射,所以只有你能做到这一点。
https://stackoverflow.com/questions/1371789
复制相似问题