安卓逆向手动解包-打包流程

安卓逆向手动解包-打包流程

起因

由于大多教程教学修改apk包都是用androidkiller,但是本人尝试发现,一部分安装包会出现解包错误,或者打包后无法安装的情况,因此,摸索了许久,学会了手动拆包和打包

准备工具

下载地址

apktool:https://apktool.org/

android-sdk(其中的zipalign,apksigner):https://developer.android.google.cn/tools/releases/platform-tools?hl=zh-cn

java-sdk(其中keytool):https://www.oracle.com/cn/java/technologies/downloads/

解包命令

apktool d input.apk -o outputdir

其中input.apk是你要解包的apk,outputdir是解包后保存的文件夹

解包后就可以对apk进行愉快的修改了

打包

打包压缩

apktool b inputdir -o output.apk

其中inputdir是你要解包路径(刚刚解包的apk路径),output.apk是打包后apk路径

值得注意的是:如果不填-o output.apk的参数默认打包在inputdir中的dest文件夹中

对齐

重点:在android10+后apk要进行对齐,否则会安装失败这是为什么你apk安装不上

zipalign.exe -v -p 4 input.apk output.apk

其中4是对齐的字节(以4字节对齐)

可以通过这条命令来可以检测apk是否对齐

zipalign.exe -v -c input.apk

签名

apksigner.bat sign --ks input.jks --v1-signing-enabled true --v2-signing-enabled true --out output.apk input.apk

--v1-signing-enabled true --v2-signing-enabled true启用v1/v2签名

--ks input.jks签名文件

那么问题来了input.jks在哪里可以获得呢?

其实也非常的简单

keytool -genkeypair -keyalg RSA -keypass 123456 -storepass 123456 -keysize 2048 -validity 3650 -keystore output.jks

其中

-keyalg RSA 加密方式RSA

-keypass 123456 密钥的访问密码(保护私钥)

-storepass 123456密钥库的访问密码(保护整个 .jks 文件)

-keysize 2048密钥长度(2048 位,安全性较高)

-validity 3650证书有效天数(10 年)

-keystore output.jks生成的密钥库文件名

相关推荐

不需要下载任何APP就可以实现分身自由啦
热水器减压阀开关方向:正确使用与维修方法详解
Win10恢复出厂设置后果及操作指南解析