如何反混淆jar文件

3
有没有任何开源的工具可以用于反混淆?无法阅读反编译后的文件,因为它们显示为A/B/C等类/方法。

5
如果你可以解密一个文件,那么混淆它就没有什么意义了,对吧?如果你的计划是合法的,请联系作者并要求提供未经混淆的版本。 - Sean Patrick Floyd
1
顺便说一句:我不同意那些试图关闭这个问题的人。我认为这是一个有效的SO问题,尽管它可能无法回答。 - Sean Patrick Floyd
如果混淆的类仍然可以反编译为有效的Java代码,则混淆并不是非常激进的。 - Durandal
3个回答

6

唯一能够以有意义的方式反混淆的开源工具就是你的脑袋。

逆向工程很难,需要耐心、毅力、咖啡因、超能力和《星际迷航》。


1
我在想是给这个答案点赞还是踩一下呢 :-) - Sean Patrick Floyd
1
完全同意。我之前也走過這條路,你必須手動逐行追踪它。很多時候,一些代碼行看起來好像毫無意義或沒有實際作用。 - Nick

5
据我所知,目前并没有这样的工具。我无法想象这是可能的,因为反混淆工具无法知道给方法和类赋予什么有意义的名称。
这也是人们进行混淆的原因。

1
如果可以免费解密,人们就不会为混淆工具付费了。 - Peter Lawrey

2
问题在于一旦一个jar文件被混淆,原始名称就被破坏并通常被替换为缩短的名称。您可以尝试将混淆后的文件添加到项目中,并使用重构工具替换为更有意义的名称,随着代码的重构,您可以为类赋予更有意义的名称,随着其用途变得更清晰。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接