apk加固+多渠道总结记录

本文记录了apk加固过程中的关键操作,包括优化class.dex文件加密和处理META-INF文件夹。同时,深入探讨了多渠道打包的原理,强调了V2签名对于渠道信息注入的重要性。在学习过程中,遇到的签名验证问题以及如何通过日志定位和解决问题也进行了分享。
摘要由CSDN通过智能技术生成

1.前期准备不充分的地方

--没有确认加固操作到底是做了哪些事

  优化class.dex,将根目录下的多个class.dex文件加密后放到特定目录下,根目录只保留一个加密相关的class.dex。apk安装的时候再解密并恢复原来的多个class.dex文件。

  脚本中完全删除了META-INF文件夹,但实际可根据需要,只删除签名相关的.SF文件

--没有完全了解多渠道打包的原理

  content of zip,center of directory,EOCD,这三个目录是zip文件的格式,并不是apk特有的格式。第一次发现加固后取不到渠道号,以为是加固方案的删除操作修改了EOCD,导致多渠道注入失效。但其实加固后,对文件夹重新zip了,最后发现其实是因为签名方案的问题导致多渠道注入失败。(用了29.0.1目录下的apksigner,导致apkverify验证不通过)

2.学到的内容

--签名相关

jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore [*.keystore] -storepass [... ] -signedjar [签名后.apk] [签名前.apk] [keystore别名]

jarsigner -verify 签名后.apk  //验证签名

sdk目录\build-tools\28.0.3\apksigner sign --out [签名后文件.apk(不指定则替换原apk)] --ks [*.keystore] --ks-key-alias [别名] --key-pass [签名的keyPassword] --ks-pass [keystore的password]

sdk目录\build-tools\28.0.3\apksigner verify -v [签名后apk] | more

apksigner 不同sdk版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值