《Android逆向工程工具 - 1 https://www.cnblogs.com/cuihengchaliao/p/6661871.html》提到经过修改重新打包的apk文件,需要再重新签名才能安装。
再重新签名时,如果是正规途径的修改,原来版本的签名证书可以使用;但如果是不正规途径的apk包修改,重新签名时原来开发者的证书是不可用的,这时修改者一般会用工具自己生成公钥、私钥对和证书,对修改的apk包进行重新签名,但是因为证书和原版的证书不一样,安装时是无法覆盖原版的,同时原版开发者也会自己在程序里对自己的证书签名值进行校验(Android逆向工程工具 - 2 https://www.cnblogs.com/cuihengchaliao/p/6665156.html中提到了3种校验方式),所以修改过的apk用新证书签名可能会在执行时出现问题,除非原版程序的签名校验逻辑已经被绕过。
怎么重新对修改过的apk包重新签名,一般流程是:
(1). 生成新的公钥、私钥密钥对和证书,可以使用keytool、openssl等工具。
(2). 使用SignApk.jar和前述的密钥和证书,对修改过的apk包重新签名。
下一篇会写怎么实现这两步。
时间: 2024-11-05 21:59:08