我可以使用密钥库反编译项目吗? [复制]
Posted
技术标签:
【中文标题】我可以使用密钥库反编译项目吗? [复制]【英文标题】:Can I decompile project with keystore? [duplicate] 【发布时间】:2015-04-15 09:07:48 【问题描述】:丢失了我的 USB,它正在运行我的 android 项目。 我刚刚测试了那个应用程序,所以我只有那个 apk。 我可以将 apk 提取到项目中吗...?
【问题讨论】:
提示:使用云解决方案来保存您的开发文件。我个人的 Dropbox 文件夹中有我的工作区,所以它可以实时同步我的开发文件。即使我的电脑着火了,它们仍然会得救。 【参考方案1】:来自link
为了这个目的,首先你把这个apk反编译成源代码,用于反编译apk下面的目的
第 1 步:
创建一个新文件夹并复制您要解码的 .apk 文件。
现在将此 .apk 文件的扩展名重命名为 .zip(例如,从 filename.apk 重命名为 filename.zip)并保存。现在你可以访问 classes.dex 文件等了。在这个阶段你可以看到 drawables 而不是 xml 和 java 文件,所以继续。
第 2 步:
现在将这个 .zip 文件解压到同一个文件夹(或 NEW FOLDER)中。
下载dex2jar并将其解压到同一文件夹(或NEW FOLDER)。
将 classes.dex 文件移动到 dex2jar 文件夹中。
现在打开命令提示符并将目录更改为该文件夹(或 NEW FOLDER)。然后编写 d2j-dex2jar classes.dex 并回车。您现在在同一文件夹中拥有 classes_dex2jar.jar 文件。
下载java decompiler,双击jd-gui,点击打开文件,从那个文件夹打开classes.dex.dex2jar文件:现在你得到了类文件。
通过 src 名称保存所有这些类文件(在 jd-gui 中,单击 File -> Save All Sources)。在这个阶段,您获得了 java 源代码,但 .xml 文件仍然无法读取,所以继续。
第 3 步:
现在打开另一个新文件夹
放入你要解码的.apk文件
下载最新版本的apktool(都可以从同一个链接下载)并放在同一个文件夹中
下载framework-res.apk并放在同一个文件夹下(不是所有的apk文件都需要这个文件,但也无妨)
打开命令窗口
导航到APKtool的根目录并输入以下命令:apktool if framework-res.apk
apktool d myApp.apk(其中 myApp.apk 表示您要解码的文件名)
现在您在该文件夹中获得了一个文件夹,并且可以轻松读取 apk 的 xml 文件。
第 4 步:
这不是任何步骤,只需将两个文件夹(在本例中为两个新文件夹)的内容复制到单个文件夹
并更新源代码...
【讨论】:
以上是关于我可以使用密钥库反编译项目吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章