反编译apk再打包后打开闪退

这次用apktool工具反编译某apk后, 再次直接打包安装运行闪退, 使用adb logcat 查看日志后发现是 sign is wrong。

1.反编译 java环境是
java -jar ./apktool.jar d -f 11.apk -o 1234  
2.打包回来
java -jar ./apktool.jar b  1234
3重新签名, 必须要重新签名, 否则安装时会爆签名错误
java -jar signapk.jar testkey.x509.pem testkey.pk8 11.apk signd.apk

以上所有工具会在下面展示链接(keytool.jar  signapk.jar);

1.当重新adb install signd.apk之后, 打开app闪退, 结果爆的  hahaha_Jni:sign is wrong,  然后全局搜索整个解包文件夹时发现并没有这个字段。

2.使用 ida pro把安装包下lib目录中的.so文件都打开, 然后搜索这个字符串


3.然后校验通过, 直接完美运行了app。 没有搞过android, 所以很多东西我都是顺着思路来慢慢的走的。 很幸运的破解了sign校验。 所以在这里只是提供一种错误的处理思路。

4.以上 打开so文件 并能查看伪代码 是使用的 ida pro 这个工具。 直接修改so文件 是使用的 winHex。 将ARM指令转换为16进制 使用的是 arm_a

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值