这次用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_asm.exe
工具链接
(1)解包工具 apktool
(2) 签名工具 signapk
扫描二维码关注公众号,回复:
1460871 查看本文章
(3)查看so文件工具 ida pro (请自行搜索下载)
(4)修改so文件工具 winHex
(5)ARM指令转换为16进制工具 arm_asm.exe
1 2 5 下载链接 链接: https://pan.baidu.com/s/1qie-NrA7R4GkIf22xD5B8A 密码: 4v3i