0

不幸的是,我的电脑被盗了,自动云服务备份似乎是自动的,但它在几个月前就停止了。所以我丢失了我的 Android 应用程序的所有 Eclipse 源文件。

我正在尝试恢复所有这些文件,并希望您能帮助我完成最后的步骤。

所以,我做了什么:

  1. 从 Play 商店下载的 Astro 文件管理器:https: //play.google.com/store/apps/details?id=com.metago.astro&hl=en

  2. 使用 Astro 文件管理器备份我的应用程序并将它们从我的 SD 卡复制到计算机。

  3. 下载 APK 工具:http ://code.google.com/p/android-apktool/ (apktool-install-windows-r04-brut1.tar.bz2apktool1.4.3.tar.bz2)并将它们解压缩到c:\windows文件夹中。

  4. 解码apk:apktool d name.apk

到目前为止一切顺利,但我在这里卡住了。由于我对 Android 编程很陌生:

我得到以下文件夹:ressmali

res 文件夹包含我所有的资源,但是...

我可以看到我以前在src文件夹中的 Eclipse 中的所有文件现在都在smali文件夹中并具有.smali扩展名,但它们看起来完全不同。

有什么方法可以让它们恢复“正常”(Java 代码)?逐步使用某种工具/技巧?

谢谢!

我来到了这个博客:http: //jack-mannino.blogspot.com.es/2010/09/reversing-android-apps-101.html

但是在提取dex2jar 文件后,Eclipse 无法打开.class 文件。有谁能帮忙吗?另外,文件名后面的 $1、$2 等是什么意思?


好的,基本上,我做了什么,但我错过了最后一步(我猜):

  • 安装 Astro 文件管理器
  • 备份应用程序
  • 复制 APK 并使用 dex2jar: 'd2j-dex2jar c:\apk\myappname.apk' 创建 jar 文件
  • 使用 JD (http://java.decompiler.free.fr/?q=jdgui) 创建一个 zipfile
  • 提取压缩文件

所以我可以看到所有的源代码,但是 Manifest 似乎不见了,所以 Eclipse 仍然没有将它作为项目打开。

谁能给我最后的提示?非常感谢!

4

2 回答 2

1

在这种情况下,您最好的办法是使用dex2jar工具将 apk(实际上是其中的 dex)转换为 jar 文件,并使用 java 反编译器(如jd )对其进行检查。

但是 JD 有时会产生误导性的 java 源代码,因此您可能必须参考可以通过apktool获取的类的 smali 代码。

这是 dalvik 操作码:http ://s.android.com/tech/dalvik/dalvik-bytecode.html

最后,类名后面的 $1、$2 表示该类中使用的内部类。

于 2012-11-08T22:30:12.783 回答
0

使用 axmlprinter 2 解码您的清单(大多数情况下 apktool 不起作用)所以使用 dex 2 jar 和使用 AXMLprinter2 您必须解压缩文件

于 2012-12-28T13:37:45.220 回答