对 Android APK 安装包进行反编译并修改再打包

1、确认系统中已安装 JRE、JDK(需要 1.8 以上版本:https://www.oracle.com/cn/java/technologies/javase-downloads.html

检查命令:java -version

2、JRE、JDK 的路径已配置在系统环境变量 PATH 中:

如:C:\Program Files\Java\jdk1.8.0_181\jre\bin(keytool 工具在此)

C:\Program Files\Java\jdk1.8.0_181\bin(jarsigner 工具在此)

3、获取 apktool 工具,按说明进行下载安装:https://ibotpeaches.github.io/Apktool/install/

下载后说放到 Windows 目录下,其实也可以自己建一个文件夹,将文件夹路径放到环境变量中,就是为了执行方便,一样的效果。

4、反编译 base.apk:

命令:apktool d base.apk

执行后本地会生成同名文件夹 base,在 base 文件夹下就是各种源文件(如:smali 文件),可以进行修改、保存。

搜索文件内容可使用工具 SearchMyFiles:https://www.nirsoft.net/utils/search_my_files.html

5、重新打包为 base_new.apk:

命令:apktool b base -o base_new.apk

6、创建签名文件 base.keystore(已有签名文件的可跳过):

keytool -genkey -alias base.keystore -keyalg RSA -validity 40000 –keystore base.keystore

执行后会提示输入一系列签名信息,根据情况自己输入就可以了。

7、使用 base.keystore 签名文件对 base_new.apk 进行签名,保存为 base_new_signed.apk 文件:

jarsigner -verbose -keystore base.keystore -signedjar base_new_signed.apk base_new.apk base.keystore

以上步骤文件名可根据实际情况进行修改,保持一致即可,注意更换签名后,是不能覆盖安装的,只能卸载重新安装。

 

转自:https://blog.csdn.net/bricky/article/details/103190809

posted @   不是豆豆  阅读(1112)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
友情链接:迷途


点击右上角即可分享
微信分享提示