android - 反编译之后再正编译 逆向 重新打包 apk compile decompile
访问量: 104
可惜了。2022年7月做过一次。当时笔记没记录完全。找不到了。
refer to:
https://www.jianshu.com/p/cfa7efc957cb
http://www.5ityx.com/cate100/305624.html
https://www.cnblogs.com/revercc/p/16120665.html
1. apktool.bat d .\old_android_20220711.apk

2. 对 解压缩之后的android 包的文件做个修改。例如修改ssl证书

所以,先准备好这个cert :
参考: https://siwei.me/blog/posts/android-ssl-aliyun-pem-key-androiid-cert
3. 重新打包:
.\apktool.bat b --use-aapt2 -f xxx_android_20220711 -o new.apk
这里记得务必使用 --use-aapt2 这个选项。否则会报错,见:
https://github.com/iBotPeaches/Apktool/issues/1978

4. 对这个apk进行 zipalign:
zipalign.exe -v 4 .\new.apk aligned_20230714.apk
找不到该命令的话,就输入完整路径:
C:\workspace\coding_tools\android_sdk_new\build-tools\35.0.0\zipalign.exe -v 4 .\new.apk aligned_20240831.apk


5. 对打包后的 内容进行 签名:
(前提是需要知道: 1. keystore 文件 2. alias 3. 密码 ) 一般都保存在项目的 app/build.gradle中。

apksigner.bat sign --ks /workspace/xxx/xxx-android/stjk/release.keystore --ks-key-alias release --out signed.apk .\aligned_20230714.apk
上面命令中的:
aligned_xx.apk : 是打过包但是没有进行过签名的apk
signed.apk: 签过名的apk
最后得到的这个文件,就可以直接安装了。