(2009) - Java 代码反混淆工具
有没有一个工具可以对java混淆代码进行反混淆?
这些代码是从编译的类中提取的,但它们是模糊且不可读的。
Is there a tool to deobfuscate java obfuscated codes?
The codes is extracted from a compiled class but they are obfuscated and non-readable.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
第一步是了解它是被哪个工具混淆的。也许已经有一个针对特定混淆器的“反混淆器”。
另一方面,您也可以只运行 IDE 并使用其重构功能。将类、方法和变量名称重命名为敏感名称。利用你的人类逻辑思维能力来弄清楚代码实际代表什么,并敏感地命名它们。这幅图景将会缓慢但肯定地增长。
祝你好运。
First step would be to learn with which tool it was obfuscated. Maybe there's already a "deobfuscator" around for the particular obfuscator.
On the other hand, you can also just run an IDE and use its refactoring powers. Rename the class, method and variable names to something sensitive. Use your human logical thinking powers to figure what the code actually represents and name them sensitively. And the picture would slowly but surely grow.
Good luck.
您是否尝试过使用Java Deobfuscator(aka JDO)(一种智能反编译器)来使代码不那么晦涩难懂?
Did you try to make the code less obscure with Java Deobfuscator (aka JDO), a kind of smart decompiler?
不是为了坟墓,而是我编写了一个适用于大多数商业混淆器的工具
https://github.com/Contra/JMD
Not to gravedig but I wrote a tool that works on most commercial obfuscators
https://github.com/Contra/JMD
我使用了 Java Deobfuscator(又名 JDO),但它有一些错误。它不能使用区分大小写的文件名。
所以我更改了源代码并在 sourceforge 中上传了一个补丁。
补丁,下载
I used Java Deobfuscator (aka JDO) but it has a few bugs. It can't work with case sensitive file names.
So I've changed the source and uploaded a patch for that in sourceforge.
The patch, Download
很可能只有人类的心智才能理解它。获取最好的反编译器并思考其输出。
Most likely only human mindpower to make sense of it. Get the best decompiler available and ponder on its output.
也许它可以在 Unix/Linux/MacOS 上运行?
如果是这样,您可以将流程的一个步骤移至虚拟机,在虚拟机中解压代码,然后再重命名太长的名称。 Windows 上的文件名限制是多长?
Maybe it will work on Unix/Linux/MacOS?
If so, you could move one step of your process to a VM, in where you unpack the code, before you rename the too long names. How long is the file name limit on Windows?