• [已失效]坦白说(查看好友)抓包教程+解密工具


    注意:本文章的重要操作部分已标红显示,其他内容可以不看。
    最近QQ的坦白说很火,许多人都好奇坦白说是谁发的。结果没过多久大家还真就发现了bug。
    (1)iOS设备可以直接在搜索框中搜索坦白说的内容,随后就会显示发送者和你有一段聊天记录。
    (2)骗发送坦白说的人发一张图片,然后收藏它,在收藏夹里就可以看到发送者了。
    (3)请求https://ti.qq.com/cgi-node/honest-say/receive/mine,可以得到带有加密过发送者的一段json,可以解密它。
    不用想,这几种方法也就存活了几天,现在已经凉透了。
    第三种方法目前的结果。

    事实上,腾讯只是加了一个token来验证是否是正常请求。token怎么获得需要费一番功夫研究。那么我们能不能直接获取到加密的json呢,答案是可以的,我们可以直接抓取请求的response。
    下面开始教程:


    1.下载我的坦白说解密工具 下载地址:http://file.walnutech.cn/upload/ShowTanbaiSay.Net.zip
    下载并安装Fiddler ,因为这个工具的官网在国内打不开,所以我把它上传到了我的私有云,下载地址:http://file.walnutech.cn/upload/FiddlerSetup.exe

    2.运行它,点击Cancel

    3.点击菜单栏中的Tools-Options

    4.点击HTTPS
    勾选Decrypt HTTPS traffic(解密HTTPS)
    勾选Ignore server certificate errors(UNsafe)(忽略证书错误)
    由于坦白说的接口的HTTPS协议的,所以我们要启用


    5.点击Connections,
    勾选Allow remote computers to connect(允许远程设备连接)
    这样其他设备才能连上电脑


    6.保存设置

    现在通过代理连接的设备就可以被抓到包了。然后我们需要让我们的手机通过此代理上网。

    7.先查看我们本机的ip(局域网内,手机和电脑在一个网络)
    运行-cmd

    8.输入ipconfig /all命令并回车

    9.无线局域网适配器的内容就代表这台电脑的无线网卡的连接信息,记住这个IPv4地址(192.168.123.192)

    10.现在我们进入手机的WLAN,长按当前wifi,点击修改网络

    11.点击高级选项

    12.点击代理-手动,
    代理服务器主机名填写刚刚记下的ip,端口填8888保存

    设置完代理,现在我们用手机上网,已经可以抓包了。接下来我们进入QQ。

    13.手机QQ直接访问https://ti.qq.com/honest-say/my-received.html
    进入坦白说界面,点击收到的坦白说也可以
    注意:出现证书错误,一定要点击继续访问!



    14.现在我们看Fiddler的左侧列表,仔细找,可以看到Host为ti.qq.com,URL为/cgi-node/honest-say/receive/mine?字样的记录。就是它!


    15.将响应保存下来,鼠标右击它,依次选择Save-Response-Response Body

    16.保存它,然后用记事本打开,复制全部内容

    17.打开我的坦白说解密工具,粘贴进去,点击解密

    18.随后会显示解密内容(标签-消息-QQ号),大功告成!


    那么,解密坦白说的发送者是怎么实现的呢?
    返回的数据是一段json,在data-list分组下,保存着用户数据fromNick是发送者的信息topicName是消息,这两个都是没有加密的。
    而fromEncodeUin则是加密过的发送者QQ号,为这么需要它?我猜测是QQ为了实现匿名聊天留的。
    下面是一段fromEncodeUin的示例
    *S1*xxxxxxxxx
    它的开头四位是永远不变的,之后以四位为一组,对应三个数字。循环完一组,又是一组,一直有三组。这样就可以得到前9位了。从第10位开始,字典就不适用了,不过我们完全不需要它,因为只得到前几位就能知道是谁发的坦白说了。
    字典如下

    第    一   二    三   位
    0 - "oe", "n", "z"
    1 - "oK", "6", "5"
    2 - "ow", "-", "A"
    3 - "oi", "o", "i"
    4 - "7e", "v", "P"
    5 - "7K", "4", "k"
    6 - "7w", "C", "s"
    7 - "7i", "S", "l"
    8 - "Ne", "c", "F"
    9 - "NK", "E", "q"

    代码实现很容易

    源代码地址:http://file.walnutech.cn/upload/坦白说源代码(C#).zip

    部分内容参考自Z实验室

  • 相关阅读:
    Python基础之元组tuple(带了枷锁的列表)
    Python基础之元组tuple(带了枷锁的列表)
    Python基础之列表
    Python基础之列表
    穷举法解决这个问题(1,2)
    二分查找
    正則表達式
    Restful WebService简介
    杭电1285确定比赛名次
    ACdream区域赛指导赛之手速赛系列(5) 题解
  • 原文地址:https://www.cnblogs.com/lcosmos/p/TanBaiShuo.html
Copyright © 2020-2023  润新知