安卓安装包反编译后重新打包

使用到的工具有

apktool:解包、重新打包

dex2jar:dex包转换成jar包、jar包转成dex包

jd-gui: class文件反编译成java源文件

keytool:生成证书文件(keytool在jdk的bin目录)

zipalign.exe:对重新打包后的apk进行对齐(在安卓sdk的build-tools目录下或单独下载)

apksigner.jar: 对重新打包后的apk文件签名(在安卓sdk的build-tools/lib目录下或单独下载)

apktool

反编译: java -jar apktool.jar d xxxx.apk

重新打包: java -jar apktool.jar b [反编译生成的文件夹]

dex2jar

 

keytool

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
36500是证书的有效期,单位天

zipalign.exe

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

input.apk是需要签名的安装包

output.apk是对齐之后的的安装包

apksigner

java -jar apksigner.jar sign --ks kestore的路径 --out output.apk input.apk

然后会提示输入keystore的密码,输入后回车即可完成签名

目前只会修改 AndroidManifest.xml 使应用信任用户安装的证书,用于Fildder抓包。

使用apktool解包后,在 AndroidManifest.xml 中的application标签中加入

<application android:networkSecurityConfig="@xml/network_security_config">

再在解包后的res/xml目录下加入 network_security_config.xml 文件

network_security_config.xml 内如如下

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="user"/>
            <certificates src="system"/>
        </trust-anchors>
    </base-config>
</network-security-config>

修改好后再通过apktool打包成apk文件

下一步需要对重新打包的apk文件进行对齐

然后生成自己的证书文件

最后使用自己的证书文件对对齐后的apk进行签名

然后就可以进行安装,使用Fildder抓取https包了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值