博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最新QQ APK逆向重打包成功!
阅读量:6511 次
发布时间:2019-06-24

本文共 1690 字,大约阅读时间需要 5 分钟。

  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破解版:
(注:不支持在模拟器上运行,至于原因,有待研究)

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

你可能感兴趣的文章
Node.js+Koa开发微信公众号个人笔记(一)准备工作
查看>>
Android 图片缓存处理
查看>>
MySQL数据库锁定机制
查看>>
elasticsearch
查看>>
阿里盒马领域驱动设计实践
查看>>
vuex 存值 及 取值 的操作
查看>>
HDU 2242 考研路茫茫——空调教室(边双连通)
查看>>
如何在C#项目中使用NHibernate
查看>>
使用vigil 监控微服务系统包含可视化界面
查看>>
安装python包到指定虚拟环境
查看>>
力扣(LeetCode)21
查看>>
网页视频流m3u8/ts视频下载
查看>>
聊聊flink的TableFactory
查看>>
Python 基础起步 (十) 什么叫函数?
查看>>
每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
查看>>
8年软件测试工程师感悟——写给还在迷茫中的朋友
查看>>
5G一周热闻:华为夺联通5G大单,首张5G电话卡发放
查看>>
“迁移策略+新容器运行时”应对有状态应用的冷热迁移挑战
查看>>
使用Swoole加速Laravel(正式环境中)
查看>>
mockjs让前端开发独立于后端
查看>>