首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试java混淆代码

调试java混淆代码
EN

Stack Overflow用户
提问于 2009-09-03 06:57:10
回答 2查看 3.3K关注 0票数 5

我们将混淆我们的项目,但不想失去远程调试和热插拔的能力。

有可能吗?哪些工具可以处理这种情况?我喜欢简单的混淆--只需重命名类/方法/变量即可。

我们正在使用Intellij IDEA,但找不到任何用于此任务的插件。

EN

回答 2

Stack Overflow用户

发布于 2009-09-03 07:50:31

我们有同样的需求(简单的混淆,需要稍后调试),我们使用ProGuard。它是一个Java应用程序,可以集成到Ant任务中。

它可以做很多事情,但它也是完全可调的。所以你可以让你的混淆变得简单。其中一个选项是生成一个“符号对应表”,它允许您从混淆的代码中检索未混淆的代码。(它跟踪qksdnqd类中的变量xyz实际上是MeaningfulClassName类中的myCuteVarName )

编辑:混淆可能会很棘手。下面是一些例子:

  • 你不能改变你的main方法的名字。
  • 你使用类加载器了吗?在你的对象关系映射的obfuscation?
  • What之后,它还能检索这个类吗?你的Spring上下文?(如果有)

Edit2:您还可以看到:

票数 5
EN

Stack Overflow用户

发布于 2009-10-03 05:01:43

参见SD Java Obfuscator。它去掉注释和空格,并重命名所有非公共的成员/方法/类名。

它还为你提供了代码如何被混淆的地图,例如,对于每个符号FOO混淆为XYZ,一个地图FOO->XYZ。这意味着如果你得到一个提到XYZ的回溯,你可以很容易地确定原始的符号FOO。当然,因为只有你(做模糊处理的人)有这个映射,所以只有你能做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1371789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档