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

我丢失了去年我建立的所有应用程序的代码(雷击我的硬盘,没有备份任何应用程序)。 由于它们是相当简单的应用程序,我将它们置于逆向工程过程中。 我已经在过去几十次这样做了,每次我都没有问题(如果我们不计算工作时间将所有文件组合到一个项目中)。 我已经完成了在硬盘耗尽期间丢失的3个应用程序。 他们几乎完美无缺地反转,但我被困在了这个。

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

但我有一个奇怪的文件结构奇怪的文件名 。 项目文件位于通常的路径src/com/mycompanyname/appname 。 在RI处理之后, 一些文件保留在主路径( R.java ,第三方广告文件和其他一些文件 )中,而所有其他文件都被重新映射到文件结构中,如下所示:

a.java
b.java
c.java

z.java

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

问:有谁可以告诉我这可能是什么原因?

问:在将代码编译成APK之前,Eclipse是否以某种方式混淆了代码? 这是混淆的APK在通过IR流程后的样子吗?

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

Android SDK包含Proguard来模糊您的代码。 使用ADT在Eclipse中创建Android项目时,默认情况下会启用Proguard。 你可以关掉它。 点击此处了解更多相关信息,请访问http://developer.android.com/guide/developing/tools/proguard.html

所以…

问:有谁可以告诉我这可能是什么原因?

这是Proguard的工作。

问:在将代码编译成APK之前,Eclipse是否以某种方式混淆了代码? 这是混淆的APK在通过IR流程后的样子吗?

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

只需使用JAD。 正确反编译。