坦白说解密安卓版开源 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Xlegend
V2EX    程序员

坦白说解密安卓版开源

  •  
  •   Xlegend 2018-04-08 09:03:14 +08:00 4055 次点击
    这是一个创建于 2754 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一、开篇

    最近坦白说也是异常的火,作为开发者的我也去赶紧跑过去蹭了一下热度,写了个安卓的,加载了头像,点击后直接跳转到 QQ 资料卡页面,并且优化了已有的解密的算法(已有的大多数情况不能完全解密),目前还没发现解密出现问题的。 看看图 image.png

    二、分析

    首先,要拿到数据的接口,得先拿到对应的 token,而这个 token 就是使用 skey 进行一系列计算得出的,这个 skey 就是登录 QQ 空间后从返回的 cookie 中可以获取的。计算出 token 后,就可以放到这个接口,以获取好友的数据为例

    https://ti.qq.com/cgi-node/honest-say/receive/friends?_client_version=0.0.7&token= 

    这样就可以拿到返回后的 Json 数据,然后就开始操作了

    { "code": 0, "data": { "confesses": [], "maxUnread": 0, "cookie": "CIsB", "finish": 0 } } 

    看看,这段数据就是返回后的 Json 数据,confesses 就是返回后的数据列表,注意这里面的 cookie,也就是进行分页加载需要传递的参数,如果没有数据了,这个 finish 就会变为 1,cookie 直接加到后面

    https://ti.qq.com/cgi-node/honest-say/receive/friends?_client_version=0.0.7&token=计算的 token&cookie=CIsB 

    这样就能加载完整的数据了,然后关键是解密,这里的话已经有公开的,但是解密不完整,这里我花了一些时间,这个解密的规则是先 2 位加密的字符对应一位数,然后 2 位数字就是 1 位对应 1 位,3 个数字一组,下一组就又是 2 位对应 1 位,也就是对应 4 个加密后的字符,这样的规则,但是问题就出在了尾数,基本现在的这些就是尾数会解密出错,尾数又是使用的不同解密方式,经过多次测试,还是发现了规律,如图,这是尾数刚好对应 3 位一组的第前 2 位的。 image.png

    这就是经过多次的对比,总结出的,但这里又有一个问题,就是不知道 qq 的位数和尾数的加密有没有关联,目前解密已经没发现问题了,这些就不多说了,给出github地址,喜欢的欢迎给个 star。

    Sanko
        1
    Sanko  
       2018-04-08 09:36:46 +08:00 via Android
    没有编译好的安装包吗
    Shlimax
        2
    Shlimax  
       2018-04-08 10:12:12 +08:00 via Android
    Xposed 框架已经有了,看一下乐呵乐呵就好了
    Xlegend
        3
    Xlegend  
    OP
       2018-04-08 17:33:53 +08:00
    这是不需要 Xposed 框架的 解密过程也都在 安装包 github 主页有
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3636 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 04:19 PVG 12:19 LAX 21:19 JFK 00:19
    Do have faith in what you're doing.
    /div>
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86