最近我用dex2jar,jd-gui和 Android studio 反编译了一些Android
APK。
为什么某些类的方法可以看到源代码,而某些类的方法只能看到/ 编译的代码 /?
编译时这两个类有什么区别?
更重要的是,我想对我的代码执行相同的编译工作以确保安全性。我可以找到哪些工具?
答案 0 :(得分:0)
可能会发生这种情况,因为您的JAVA
文件由于字节码不正确而无法读取,或者可能被加密。您无法区分正确和错误的JAVA
文件类型。
无论如何,要正确编译JAVA
文件,您可以选择使用Luyten(与jd-gui相同)。
答案 1 :(得分:0)
当Android Studio打开.class文件并且无法反编译代码时,它只显示“编译代码”消息。有很多东西可以阻止反编译,因为很多东西在字节代码中是合法的,在Java中是非法的。 (例如,具有名为if
或for
的方法是完全合法的字节代码,但这些是Java关键字,不能用于命名Java方法。)这些类型的东西很容易出现当.Gulass文件由ProGuard处理时,可能还有APK构建过程中的其他工具。