我是java新手,我想知道是否有办法从其编译文件(.java
文件)中检索文件的源代码(即.class
文件)。
我已经阅读了关于编译过程,即关于解析,语法和语义树,中间代码生成,使用的宏等等。它听起来像一个非常复杂的过程。逆向工程将更加困难。因此,我认为这是不可能的,但我不得不问。我用谷歌搜索,但找不到任何令人满意的东西。
我也在课堂上学习了代码混淆。如果可以进行反编译,它对于混淆文件会如何表现?
提前致谢。
答案 0 :(得分:0)
[编辑:我不会完成答案,因为这个问题是重复的,这只是对问题第二部分的补充评论]
当您对某个类进行模糊处理时,会删除执行时不需要但在文件中存在的所有内容,例如方法的名称。
事实上,混淆隔离类并不会删除很多,因为其他类需要方法或可见字段的名称。所以通常你会使用像proguard这样的工具来混淆一组班级聚会。
答案 1 :(得分:0)
是的,顺便说一句,非常简单,获得一个名为DJ Java Decompiler
的程序(在谷歌搜索很容易找到),安装后,你只需打开.class文件,它就会显示代码全部格式化和缩进。
仅限Microsoft Windows的应用程序