-
-
[原创] 破解微信反二次打包dex文件校验
-
发表于:
2018-1-18 15:08
13601
-
需要java运行时环境
一: 先学习使用ShakaApktool
175K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3k6%4g2A6k6%4g2*7K9e0p5I4x3e0m8Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0r3k6r3g2@1j5h3W2D9M7#2)9J5c8U0b7@1z5e0R3K6x3e0j5&6
二:反编译微信
微信下载地址 927K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3c8D9k6r3W2J5x3g2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3N6$3g2A6P5r3W2F1i4K6u0r3j5h3&6V1M7X3!0A6k6q4)9J5c8Y4N6W2K9i4S2A6L8U0j5$3x3h3q4F1k6s2u0G2K9h3b7I4x3U0t1H3i4K6g2X3x3g2)9J5k6h3q4H3K9H3`.`.
用命令行 java -jar "ShakaApktool.jar" dweixin661android1220_1.apk (注意参数"ShakaApktool.jar" d )
三:注释掉文件校验代码
用文本搜索工具 搜索字符串 "extract dex waiting for verify lock cost %dms on file: %s"
向下搜索 Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z (这个是比较apk里的dex文件MD5值的因为二次编译以后dex文件的目的值会变)
会看到有一行 if-eqz v2, :cond_2 这个就是如果md5值不一样就执行cond_2 的代码;只要 把v2这个寄存器的值在比较之前设置为非零就可以了
我这边就 把 const v2, 0x19000 放到 if-eqz v2, :cond_2 这句前面就可以了
四 编译修改后的微信;
用命令行 java -jar "ShakaApktool.jar" b weixin661android1220_1 (注意参数"ShakaApktool.jar" b )
五:效果图

[培训]科锐逆向工程师培训第53期2025年7月8日开班!