反编译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_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






猜你喜欢

转载自blog.csdn.net/just_for_your_smile/article/details/80385505
今日推荐