重建使用 javadecompilers.com 反编译的 .apk

Posted

技术标签:

【中文标题】重建使用 javadecompilers.com 反编译的 .apk【英文标题】:rebuilding .apk decompiled with javadecompilers.com 【发布时间】:2018-10-02 13:22:30 【问题描述】:

我正在尝试修补一个 .apk,我发现您可以使用 apktool d your.apk 然后修补 smali 文件apktool b com.your.package patched.apk 最后用调试密钥 jarsign

问题是 smali 文件很难阅读 我找到了很棒的在线工具:javadecompilers.com,它可以输出 java 代码。

我的问题是,在使用此工具修补我的反编译应用程序后,我不知道如何从中构建正确的 .apk。 我试过只是压缩它,将扩展名从 .zip 更改为 .apk,然后使用 jarsigner 对其进行签名,但在使用 adb install patched.apk 将其上传到手机后 它告诉我Failure [INSTALL_FAILED_INVALID_APK] 可能这种压缩和更改扩展名是错误的,但是如何正确执行呢?谢谢。

【问题讨论】:

反汇编代码和反编译代码有很大区别。通常反编译的代码不精确,容易出错并且无法重新编译回来。建议你学一点smali,用apktool打补丁。 【参考方案1】:

您可以使用 apktool 和 .smali 文件,或者您可以尝试做您已经尝试做的事情,但它并不总是有效,尤其是对于更复杂的 apk,因为它不太可能反编译干净

您将需要一个环境或 ide 将修改后的源代码编译回 apk。

    将源码复制到自己的ide中(如android Studio) 添加资源和androidmanifest 修改你想要的内容 编译

您可以将jadx 或dex2jar 用于离线工具,或者您已经在线(尽管我没有使用该在线工具的经验)

【讨论】:

是的,我想过将反编译的源代码复制到 Android Studio 中,但说实话似乎有点麻烦。没有任何命令行工具可以做到这一点吗? 我不知道有什么工具可以做到这一点,所以我认为您唯一的选择是将代码手动复制/添加到 ide 中。

以上是关于重建使用 javadecompilers.com 反编译的 .apk的主要内容,如果未能解决你的问题,请参考以下文章

jvm学习

Android-反编译教程-2021-Mac版

Android-反编译教程-2021-Mac版

Android-反编译教程-2021-Mac版

Android-反编译教程-2021-Mac版

Android-反编译教程-2021-Mac版