这个方法只适用于安卓手机。
1.安装无Root抓包:Packet Capture
2.打开坦白说界面
记住,不要点击右上角的“收到的坦白说”。
之后点击安卓手机的home按键,让QQ在后台运行。
3.开始抓包
打开我们之前安装的Packet Capture,点击右上角的绿色箭头,带数字1的那个
在弹出的列表中找到我们的QQ,点击它
在弹出的窗口中点击确认,开始抓包
之后同样是点击home键,让抓包工具在后台运行,回到我们的QQ,点击坦白说“收到的坦白说”,等待加载完成之后返回到我们的Packet Capture
4.查询数据
进入到抓包工具后,点击右上角红色的方块停止抓取数据
点击产生的数据包,在里面找到有“SSL”标记的倒数第三个数据包
点击去之后拉到最后面应该可以看到坦白说列表的数据,是一个json格式的,如下图,没看到这个数据,可能不在这个包里,返回上图中的界面,多翻看几个
之后,点击JSON旁边的三个圆点点,之后点击TEXT,把格式转化为文本类型
再次点击右边的三个圆点点,点击COPY,把数据拷贝出来。
到了这里,准备工作已经完成了,后面就需要变成相关的知识了,如果不会,可以把以上操作得到的数据评论给我,我帮助解析。
5.最后的解码
解码的方式,这里提供了两种,一个是基于java的,一个是基于python的,最终结果都是一样的。
基于python:
# -*- coding: utf-8 -*-
import jsonclass Who:def __init__(self):self.key = {"oe": "0", "n": "0", "z": "0", "on": "0","oK": "1", "6": "1", "5": "1","ow": "2", "-": "2", "A": "2", "oc": "2","oi": "3", "i": "3", "o": "3", "oz": "3","7e": "4", "v": "4", "P": "4", "7n": "4","7K": "5", "4": "5", "k": "5", "7": "5", "7v": "5","7w": "6", "C": "6", "s": "6", "7c": "6","7i": "7", "S": "7", "l": "7", "7z": "7","Ne": "8", "c": "8", "F": "8", "Nn": "8", "ov": "8","NK": "9", "E": "9", "q": "9", "Nv": "9"}def calc(self, string, debug=False):result = ""string = string.replace("*S1*", "")while string:if len(string) > 1:if string[0:2] not in self.key:if debug:print(string[0:1], self.key[string[0:1]])result += self.key[string[0:1]]string = string[1:]else:if debug:print(string[0:2], self.key[string[0:2]])result += self.key[string[0:2]]string = string[2:]else:if debug:print(string, self.key[string])result += self.key[string]string = ""return result
基于java:
这里不贴代码浪费篇幅了,直接下载源码查看,注意的点就是,按照我给出的方式,拷贝json字符串把双引号替换成单引号。
坦白说java源码:
链接:https://pan.baidu.com/s/1BxItF0NtY2zFFGoYGAjHkQ 密码:skxj
马赛克的部分就是我们的解密QQ号了,在QQ上粘贴这个QQ号,逐渐删除尾部数字(腾讯做了精准搜索处理),就能查到是谁给你发送的消息了。
补充:
以上的方式只能查询6月份之前收到的坦白说的内容,6月份以后,腾讯对加密部分重新设置了加密规则,还没有人能够破解它。