-3

我使用 dex2jar 反编译了一个 Android .apk 文件,使用 jd-gui "File > Save All Sources" 获取了 java 源文件,并得到了一个 .zip 文件和其中的 java 文件。我完全按照本“指南”中的步骤进行操作:http: //a4apphack.com/security/sec-code/extract-android-apk-from-market-and-decompile-it-to-java-source

然后我对几个 java 文件做了一些更改,现在我想知道如何重新创建一个 apk 文件。

使用 apktool 进行反编译,backsmali 和 smali 工具使用 .smali 文件,但现在我有 .java 文件...

4

1 回答 1

1

AFAIK你不能。将 Smali 文件转换为 java 并不完美,而且 99% 的时间您都不会得到准确的代码,因此如果有办法重新编译它,它很可能无法运行并且会崩溃(取决于源代码的复杂性)。如果你想修改一个应用程序(我不建议这样做。说真的,不要这样做,没有开发人员的明确批准!)你必须修改 smali 文件,然后你可以使用 apktool 重新编译它这个:

apktool b <app name>

然后签名:

java -jar SignApk.jar key.pem key.pk8 <app name>.apk <app name>_signed.apk
于 2012-11-25T16:55:33.137 回答