1

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

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

但是我得到了一个看起来很奇怪的文件结构奇怪的文件名。项目文件位于通常的路径src/com/mycompanyname/appname中。在 RI 过程之后,一些文件保留在主路径中(R.java、3rd 方广告文件和其他一些文件),而所有其他文件都重命名为如下文件结构:

a.java
b.java
c.java
...
z.java

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

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

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

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

4

2 回答 2

7

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

所以...

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

Proguard 在做它的工作。

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

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

于 2011-10-22T16:43:27.463 回答
-3

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

于 2011-10-22T16:31:46.913 回答