试图对我的应用进行逆向工程,但得到了一些奇怪的文件树



我丢失了我去年构建的所有应用程序的代码(雷电对我的硬盘,没有任何应用程序的备份)。由于它们是相当简单的应用程序,我将它们置于逆向工程过程中。我过去已经做过几十次了,每次我都没有遇到任何问题(如果我们不计算将所有文件整合到一个项目中的工作时间)。我已经完成了3个应用程序,我失去了硬盘倦怠。它们几乎完美地颠倒了,但我被这个卡住了。

让我们详细讨论一下。逆向工程过程进行得很顺利。我能够从从APK中提取的编码XML文件中获得XML代码。我还能够成功地从classes.dex反编译Java代码。我得到了所有可读的文件,我可以通过文本编辑器打开/查看。

但是我得到了一个奇怪的文件结构奇怪的文件名。项目文件位于常规路径src/com/mycompanyname/appname中。RI处理后,部分文件保留在主路径(R.java,第三方Ad文件和少数其他文件),而所有其他文件被重定向为如下文件结构:

a.java
b.java
c.java

…z.java

我写的所有文件都被重命名并得到了这些奇怪的名字,而所有第三方文件都保持完整。

Q:谁能告诉我这可能是什么原因?

Q: Eclipse在编译成APK之前混淆了代码吗?这是经过IR处理后的APK的样子吗?

我真的希望有人能帮助我,因为我仍然要重建10多个其他应用程序。

Android SDK包含Proguard来混淆你的代码。当您使用ADT在Eclipse中创建Android项目时,默认情况下会启用Proguard。但是你可以关掉它。点击这里阅读更多信息http://developer.android.com/guide/developing/tools/proguard.html

所以…

谁能告诉我这可能是什么原因?

这是Proguard的工作

问:Eclipse在编译之前是否混淆了代码APK吗?混淆后的APK是这个样子的吗红外过程?

它不是Eclipse本身,而是在构建过程中调用的Proguard。是的,这就是它的样子

就用JAD吧。

最新更新