首页 > 编程知识 正文

没删qq好友怎么不见了,QQ怎么查看坦白说

时间:2023-05-04 18:54:40 阅读:161335 作者:2704

所需工具:安卓手机、Packet Capture (请自己在百度后下载) )。

首先,安装数据包捕获应用程序。 不具体演示

进入软件

这样进入主界面,左上角的两个绿色按钮分别是抓住一个APP网络请求和抓住所有请求

在要求他们抓住之前,重点是要尽量关闭QQ和Packet Capture以外的所有软件,以提高成功率,避免抓住其他无关的数据。 请如图所示严密操作

把这一页打开

切换到Packet Capture,单击右上角的绿色按钮,选择第一个,然后搜索QQ并选择QQ,然后开始抓取

首次使用时,系统会提示您单击“确定”(ok )

绿色按钮变成红色表示正在捕获。 此外,还会显示一条消息,打开我收到的坦率页面

进入这个名单,请稍等。 确保列表加载完整

单击以继续。 请确保单击以继续访问,如下图所示。 这是因为在检索数据时用Packet Capture的附属证书替换了原始证书。

切换到Packet Capture,点击右上角的红色停止按钮,结束这次的包。 这样,我们就有了一次记录,选择最近的时间点击进入

重点寻找QQ收发的数据包。 老实说,包含列表数据的包大小在10KB以上,是SSL类型

(抓到的数据包在30~50个左右。 请耐心地找)

这个数据包很大,只要用力向下翻,发现下图的数据,就是我们要分析的重点内容

接下来重点分析这些数据

1345679101112131516171819192021223242526272829、' data':' list':' fromnick':和' from nick ' 3: '

"*S1*oKoezon5" ,          "fromFaceUrl" : "man.png" ,          "fromGender" :0,          "toUin" :1088668866,          "toNick" : "" ,          "topicId" :666,          "topicName" : "别人对你的匿名评价" ,          "timestamp" :1534435200        },        {          "fromNick" : "一个x岁的女生" ,          "fromEncodeUin" : "*S1*oKoezon5" ,          "fromFaceUrl" : "woman.png" ,          "fromGender" :1,          "toUin" :1088668866,          "toNick" : "" ,          "topicId" :666,          "topicName" : "别人对你的匿名评价" ,          "timestamp" :1534435200        }      ]    } }

  

参数名含义备注fromNick对方所显示的匿名昵称e.g."一个认识3年的男生"
"一个南京的女生"fromEncodeUin编码后的对方QQ重点,从这里入手fromFaceUrl对方头像图片文件fromGender对方性别0为男,1为女toUin你的QQ号toNick你的昵称似乎都是空topicId话题ID话题索引topicName话题名称e.g. "我身边的最强大脑"
"将来能干一番大事"
"拥有迷人的长发"
也是对方给你发送的第一条消息timestamp时间戳1970年1月1日(UTC/GMT的午夜)开始所经过的秒数

1.去除*S1*这四个字符

结果变为 oKoezon5

 现在我们就得到数据了,接下来使用解密工具解密即可,将数据粘贴进去即可

Z实验室在线解密工具

解密源码如下

C++ Code

#include <memory.h>#include <iostream>static char* table[] = { "oe", "oK", "ow", "oi", "7e", "7K", "7w", "7i", "Ne", "NK", "n", "6", "-", "o", "v", "4", "C", "S", "c", "E", "z", "5", "A", "i", "P", "k", "s", "l", "F", "q"};int matchChar(char a, char b, char* mNum);int decode(char* src, char * buf);int main() { /*待解码fromEncodeUin放在这里,注意不要包含*S1*这四个字符*/ char str[30] = { "oKoezon5" }; char buf[30]; memset(buf, 0, 30); decode(str, buf); std::cout << "解码结果:n" << buf << std::endl; return 0;}int matchChar(char a, char b, char* mNum) { if (NULL == mNum) return -1; int i; if ('o' == a) { i = 0; while (i < 4) { if (table[i][1] == b) { *mNum = i % 10 + 48; return 2; } i++; } /*增加多条特殊情况,if语句太多了-_-*/ if ('n' == b) { *mNum = 0 + 48; return 2; } if ('z' == b) { *mNum = 3 + 48; return 2; } *mNum = 3 + 48; return 1; } else if ('7' == a) { i = 4; while (i < 8) { if (table[i][1] == b) { *mNum = i % 10 + 48; return 2; } i++; } if ('v' == b) { *mNum = 5 + 48; return 2; } if ('z' == b) { *mNum = 7 + 48; return 2; } return -1; } else if ('N' == a) { i = 8; while (i < 10) { if (table[i][1] == b) { *mNum = i % 10 + 48; return 2; } i++; } if ('v' == b) { *mNum = 9 + 48; return 2; } if ('n' == b) { *mNum = 8 + 48; return 2; } return -1; } i = 10; while (i < 30) { if (table[i][0] == a) { *mNum = i % 10 + 48; return 1; } i++; } return -1;}int decode(char* src, char * buf) { if (NULL == src || NULL == buf) { return -1; } char* p = src; char* q = buf; int rc = 0; while ('' != *p && -1 != (rc = matchChar(*p, *(p + 1), q))) { p += rc; q++; } return 0;}

 

严正声明: 
本文中所提到的技术/方法仅能用于个人学习与交流,请勿用于商业以及其他目的;请勿进行非法操作,请勿损害他人/社会/国家利益,请遵守相关法律法规,否则由此带来的一切后果均由操作者本人承担,与本文作者无关.

转载于:https://www.cnblogs.com/eric-ren/p/9230834.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。