我失去了我的 android 项目,我只是只在 google play store 上发布的 apk 文件。我的问题是任何一种公式或技巧都可以用来获取我的源代码,我正在更改包名称并上传又来了。。
4 回答
试试这些免费程序...
当然你可以做逆向工程,但你不会得到确切的源代码。因为谷歌宣布,每当您将 apk 上传到市场时,google play 都会在其上运行一个 proguard,所以每当有人尝试逆向工程时,没有人可以精确编码。它使您的类名与 A 类、B 类和 for 循环一样,转换为 while 循环,并将变量名更改为不可读的形式。
请仔细阅读它,它为您提供了应用程序的所有资源和源代码。现在您可以自由更改包名称等..
Procedure for decoding .apk files, step-by-step method:
Step 1:
创建一个新文件夹并将 .apk 文件放入其中(您要解码)。现在将此.apk
文件的扩展名重命名为.zip
(例如:从 filename.apk 重命名为 filename.apk.zip)并保存。
如果在转换成 .zip 时出现问题,请参考link
获得 .zip 后,现在您将获得 classes.dex 文件等。在此阶段您可以看到可绘制但看不到 xml 和 java 文件,所以继续。如果您没有看到扩展,请检查配置
Step 2:
现在在同一文件夹中提取此 zip apk 文件。现在从这里下载 dex2jarlink
并将其解压缩到同一个文件夹。现在打开命令提示符并将目录更改为该文件夹。
然后写入dex2jar classes.dex
并按回车。现在您classes.dex.dex2jar
在同一文件夹中获取文件。
de-compiler
然后从下载java
现在双击 jd-gui 并单击打开文件。然后classes.dex.dex2jar
从该文件夹中打开文件。现在你得到类文件并通过 src 名称保存所有这些类文件(单击文件然后单击 jd-gui 中的“保存所有源”)。提取该 zip 文件(classes_dex2jar.src.zip)
,您将获得应用程序的所有 java 文件。
在这个阶段,您获得了 java 源代码,但 xml 文件仍然无法读取,所以继续。
Step 3:
现在打开另一个新文件夹并将这些文件
放置要解码的.apk文件
windows v1.x
为And下载 ApktoolApktool
使用谷歌安装窗口并放在同一个文件夹中
使用 google 下载 framework-res.apk 文件并放在同一个文件夹中(并非所有 apk 文件都需要 framework-res.apk 文件)
打开命令窗口
导航到 APKtool 的根目录并键入以下命令:
apktool if framework-res.apk.
上面的命令应该导致Framework installed ...
.
- apktool d "appName".apk ("appName" 表示您要解码的应用程序) 现在您在该文件夹中获得了一个文件夹,现在您也可以轻松读取 xml 文件。
Step 4:
最后我们得到了res/
项目的java代码,这是我们开始时的目标。
Enjoy and happy coding