最新QQ APK逆向重打包成功!

为什么80%的码农都做不了架构师?>>>   hot3.png

首先声明,本文章纯粹是出于个人逆向爱好学习,请勿用于其它目的!!!

    不得不说QQ的签名验证机制做的比微信好,以至于让我这菜鸟话费了大量的时间在定位分析上了(过程的心酸就不在这诉说了啊,你懂的。。。)。

    好了,废话不多说,大致说下QQ的签名验证实现思路,成功重打包过QQ的亲们,我相信你们遇到过这样的情况,APK是重打包成功了,但是APK不能用了,登录不了,而且老是提示Appid is invalid!.

   没错,这个由于QQ做了签名验证(而且还不是一般的JAVA层代码验证,可恶的腾讯竟然把签名验证放到了so包里面,更加可恶的是这个so包竟然不是放在常规的libs目录下),在经过了N般波折后,终于还是找到了这个签名验证so包所在\assets\lib\armeabi下的libcodecwrapperV2.so。
    
     接下来就是使用IDA挂起这个so,搜索到里面的onReceData函数,进入到里面的ParseRecvData,最终可以在里面看到真正的签名验证“元凶”了——:ParsePhSigCheck,请注意.text:0001B43A                 BEQ     loc_1B480,意思是如果条件符合就会跳转到loc_1B480,否则就往下执行到ParsePhSigCheck检验签名,所以破解的思路就来了,绕过签名验证不就可以了吗,没错,就是这个简单粗暴。把BEQ 指令修改成BNE就OK了(至于如何修改so包,请百度参考关于鬼哥的修改so包教程!)

 MOV     R3, SP
.text:0001B434                 ADDS    R3, #0x57
.text:0001B436                 LDRB    R3, [R3]
.text:0001B438                 CMP     R3, #0
.text:0001B43A                 BEQ     loc_1B480
.text:0001B43C                 LDR     R1, [SP,#0x68+var_5C]
.text:0001B43E                 LDR     R2, [SP,#0x68+var_60]
.text:0001B440                 LDR     R3, [SP,#0x68+var_40]
.text:0001B442                 MOVS    R0, R1          ; this
.text:0001B444                 MOVS    R1, R2          ; _JNIEnv *
.text:0001B446                 MOVS    R2, R3          ; CSSOData *
.text:0001B448                 BL      _ZN13CCodecWarpper15ParsePhSigCheckEP7_JNIEnvRK8CSSOData ; CCodecWarpper::ParsePhSigCheck(_JNIEnv *,CSSOData const&)
.text:0001B44C                 LDR     R3, [SP,#0x68+var_40]
.text:0001B44E                 CMP     R3, #0
.text:0001B450                 BEQ     loc_1B46A
.text:0001B452                 LDR     R3, [SP,#0x68+var_40]
.text:0001B454                 CMP     R3, #0
.text:0001B456                 BEQ     loc_1B466
.text:0001B458                 LDR     R3, [SP,#0x68+var_40]
.text:0001B45A                 LDR     R3, [R3]
.text:0001B45C                 ADDS    R3, #4
.text:0001B45E                 LDR     R3, [R3]
.text:0001B460                 LDR     R2, [SP,#0x68+var_40]
.text:0001B462                 MOVS    R0, R2
.text:0001B464                 BLX     R3

    修改so包后,重新打包,运行,登录,恭喜你,可恶的Appis is invallid不见了,APK也可以正常登录使用了。一下是修改后的APK,别客气,拿去用(仅供逆向学习参考)。

QQ破解版:http://pan.baidu.com/s/1hrj9Sri
(注:不支持在模拟器上运行,至于原因,有待研究)

转载于:https://my.oschina.net/kbgcs/blog/551609

你可能感兴趣的:(最新QQ APK逆向重打包成功!)