Android后门计划-QQ防撤回分析

前言:确实好久没有更新文章了,最近有些懒了,逆向确实水特别深啊, 这次发个库存吧, 不过大家注意不要用作非法用途,仅供参考学习,所以不发成品。 还谅解。

分析某Q版本:8.0.7.4085

这里只说明以一系列的分析思路和技巧,想直接看结果可以去文章末尾直接看。

⦁ 用另一个聊天账号撤回一条消息,然后用模拟器上的qq观察。 Ddms工具捕捉时间段内的栈心思,猜测捕捉msg关键词

⦁ 找到mqq.app. MSFServlet. onReceive() 方法
image.png


这里发现了remove关键词,猜测为删除这条信息,那我们不让这条信息发出去

⦁ 然后把这个方法直接重写

⦁ 测试之后不行,发现这个方法是处理消息的最上层。 这里的remove是处理一个Map的、

那这个response是什么,我hook到把它打印了出来。

发现它的信息都在wupBUffe[]部分
image.png

⦁ 继续向下走。。


image.png
image.png

那些乱七八糟的类,都在这个包下

追到这个类,我的眼睛已经快不行了。 不过我想继续向下找


image.png

WupBuffer 这个字段很敏感


image.png

继续往后,看哪里还有处理这个的。
image.png

这里处理了一下,然后重新put了一次。像个解密的地方。

看看怎么解密的
减去了4个长度,并且调用了这个方法

image.png

然后回到 atca看到,又把这个对象给发走了

image.png

点过去一看还是个抽象方法,那就去看他的实现类。实现类也看不到。在Hook里已经拿到了 wupBuffer的数组,我们按照他的处理完之后,重新转String看看能不能得到更多的信息。

image.png

线索中断,更换思路

线索中断,jadx内存吃不消了,用killer找撤回的关键词,找到撤回的部分


image.png

name_APKTOOL_DUPLICATENAME_0x7f0c2a24
全局搜


image.png

继续搜 0x7f0c2a24

三处

image.png

Killer卡死了。。。 换jadx看代码吧(手动哭泣) 上战场,枪很重要啊!!!

从上到先先记录一下这些类中使用的方法

Aidx—aj(ToServiceMsg,FromServiceMsg,Object) --没用
Aiji—a(ArrayList)
Aiji—b(ArrayList)---在这里有个意外收获,发现了D方法,就是当自己撤回的时候。看下面
Atdx—a(QQAppInterface,Submsgtype0x8a$ReqBody,JZ) ---信息量太大,看看上面的先(但是这里是最有可能的暂时看来)

Aiji—b

image.png

热门都走了这个东西。 然后我们去看看 andk.a

我决定hook这个 andk.a 方法,我不管。我看的头大了。。。 先试试再说!

然后,没走。。。

然后hook atdx的a方法,一直报错找不到那个方法,然后

image.png

然后我决定打印他的所有a方法,并且拿到他的所有a方法的参数类型

image.png
image.png

我们需要找一个

image.png

类似这样的列表看看

image.png

应该是这个了,跟我们的核对一下看看哪里有问题

com.tencent.mobileqq.app.QQAppInterface、tencent.im.msgsync.cmd0x100.Submsgtype0x8a$ReqBody、(暂时看来是这里错了)
long、
boolean、

先把上面的方法日志注释掉,然后看下面的hook能不能拿到参数


image.png

这里打出来的就是 ReqBody的内容。 (记录重启了无数次。。。。。。模拟器。。要崩溃)

然后,hook不报错了,但是方法好像并没有走到这里!!!
我…. 接近崩溃,我要上AndroidStudio调试了!!!!

机器属实吃不消了,,毕竟这个内存不是无限大啊,i58代cpu也该退休了

⦁ 项目导入AndroidStudio


image.png
image.png
image.png
image.png

我选择8700你随意
⦁ 然后,看下qq的

image.png

2301
⦁ 输入adb命令 adb forward tcp:8700 jdwp:2301

image.png

⦁ 我要在每个有撤回文字的地方打上断点! 分别为:

image.png
image.png

.


image.png
image.png
image.png

(AndroidStudio一点好处就是不用滚轮,光标放到目录里,直接输入类名即可)

image.png

⦁ 开始打断点
⦁ 好了,调试失败

image.png

我没了。。。

⦁ 解决各种问题卡顿之后, 断点走到了 aiji.b 方法
⦁ 来hook这个方法
⦁ 最后。。。我成功了!

分析不易,一键三连。

你可能感兴趣的:(Android后门计划-QQ防撤回分析)