吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4832|回复: 34
收起左侧

[Python 转载] 安卓QQ自定义在线状态

[复制链接]
三滑稽甲苯 发表于 2021-8-3 13:18
本帖最后由 三滑稽甲苯 于 2021-8-3 13:18 编辑

思路及接口来源于:[原创工具] [PC端软件]手机QQ装逼 自定义在线状态 BMW在线等

代码

蓝奏云下载(.txt改为.py后运行)

# -*- coding:utf-8 -*-

from requests import Session # Session自动保持cookie,加快连接速度,减少代码量
from random import random # [0, 1)的随机数
from time import time, sleep # 获取时间戳需要用到time,等待用户需要用到sleep
from re import search # 正则匹配
from json import loads, dumps # json字符串转python dict

interval = 1 ## 检查登录状态的间隔(s)
model = '在线但没有完全' ### 自定义机型
sIMei = 'd4661d1f8561364f' ### 填入sIMei
x = Session() # 实例化Session
r = x.get(f'https://ssl.ptlogin2.qq.com/ptqrshow?appid=549000912&e=2&l=M&s=3&d=72&v=4&t={random()}&daid=5&pt_3rd_aid=0') # 获取二维码
with open('QRCode.png', 'wb') as f: f.write(r.content) # 写入二维码
print('请扫描二维码!(QRCode.png)')
sig = r.cookies['qrsig'] # 获取qrsig
# 计算ptqrtoken, 参考https://www.jianshu.com/p/17ec959b7324
e = 0
for i in sig:
    e += e << 5
    e += ord(i)
token = str(2147483647 & e)
while True: # 循环检查是否登录
    r = x.get(f'https://ssl.ptlogin2.qq.com/ptqrlogin?u1=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&ptqrtoken={token}&ptredirect=0&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=0-1-{int(time() * 1000)}&js_ver=10291&js_type=1&login_sig=&pt_uistyle=40&aid=549000912&daid=5&') # 接口
    data = eval(r.text[6:]) # 返回数据过滤并转为tuple,以便分析
    '''
    返回数据r.text示例
        未扫码
            二维码已失效: ptuiCB('65','0','','0','二维码已失效。(853563202)', '')
            二维码未失效: ptuiCB('66','0','','0','二维码未失效。(4087375736)', '')
        已扫码
            等待认证: ptuiCB('67','0','','0','二维码认证中。(3831518952)', '')
            登录成功: ptuiCB('0','0','https://ptlogin2.qzone.qq.com/check_sig?pttype=1&uin={QQ号}&service=ptqrlogin&nodirect=0&ptsigx=65cedf5e96324d51637235fa67c4dc7da1254fe840595af1c02cad9f55e8ab37c5cdac262dffafdeeddd812b0e309cc7131f9102b6763185f44096dbadb650a4&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&f_url=&ptlang=2073&ptredirect=100&aid=549000912&daid=5&j_later=0&low_login_hour=0®master=0&pt_login_type=3&pt_aid=0&pt_aaid=16&pt_light=0&pt_3rd_aid=0','0','登录成功!', '{QQ昵称}')
    '''
    code = data[0] # 返回的登录状态代码(str类型)
    if code == '66':
        print('二维码未失效,请扫码登录。')
    elif code == '0':
        print('登录成功!')
        flag = True
        break
    elif code == '67':
        print('请在手机上确认。')
    elif code == '65':
        print('二维码已失效,请重启脚本!')
        flag = False
        break
    sleep(interval) # 等待interval秒
if flag: # 登录成功
    qq = search(r'&uin=(\d+)&service=ptqrlogin', data[2]).groups()[0] # 筛选获取qq号
    # 计算g_tk,参考https://blog.csdn.net/qd_sharon/article/details/23393951
    skey = x.cookies['skey']
    hash = 5381
    for i in skey:
            hash += (hash << 5) + ord(i)
    g_tk = hash & 0x7fffffff
    print(f"您已登录为:{data[5]}({qq})") # 登录提示
    x.get(data[2]) # 跳转返回的验证页面
    load = { # 需要上传的数据
        'ts': int(time()*1000),
        'g_tk': g_tk,
        'data': dumps({"13031":{"req":{"sModel": model,"iAppType":3,"sIMei": sIMei,"sVer":"8.8.3.5470","sManu":"","lUin":int(qq),"bShowInfo":True,"sDesc":"","sModelShow": model}}}, separators=(',', ':')),
        'pt4_token': x.cookies['pt4_token']
    }
    r = x.get('https://proxy.vac.qq.com/cgi-bin/srfentry.fcgi', params=load).json() # 请求接口
    if r['ecode'] == 0: print('修改成功!')
    else:
        print('修改失败!以下为返回数据:')
        print(r)
input('运行结束!')

使用

  1. 安装python3环境
  2. 安装requests库pip install requests
  3. 手机QQ打开网址https://1105583577.urlshare.cn 或扫码 二维码.png
  4. 登录后点击最上面的“设备信息”,记住最后一项“msfImei”的值,填入代码的sIMei那里(可以先截屏然后用QQ的文字识别)
  5. 修改自己想要的机型
  6. 运行代码,手机QQ扫描生成的QRCode.png并登录
  7. 查看效果(电脑端登录会覆盖好友看到的在线状态,但是只要电脑端退出并且手机QQ在线就会显示自定义机型)

效果

QQ首页效果
IMG_20210803_131131.jpg
好友视角
微信图片_20210803131438.jpg

免费评分

参与人数 3吾爱币 +9 热心值 +3 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
dzqaww + 1 + 1 我很赞同!
GMCN + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 三滑稽甲苯 发表于 2021-8-3 15:11
thatCbin 发表于 2021-8-3 14:59
确实是显示手机在线  自己这边已经显示的是改的内容

更新QQ试试,老版本QQ好像不支持这个功能
如果QQ是最新版本的话,我也不知道什么原因,你可以去看看原帖
https://www.52pojie.cn/thread-1487210-1-1.html
心空妙有 发表于 2021-8-3 15:45
三滑稽甲苯 发表于 2021-8-3 14:57
sIMei码必须正确,否则无效
请仔细对照sIMei码

我用大号登陆改,成功了,大号qq主界面显示了 在线但没有完全在线。
然后我切到小号看大号的在线状态,只显示手机在线。
SuBaiQiao 发表于 2021-8-3 13:29
linliisnotme 发表于 2021-8-3 14:07
可以 又学会一个装13小技巧
Jouleken 发表于 2021-8-3 14:08
感谢分享,学习了!!!
216288461 发表于 2021-8-3 14:09
这个好,虽然不常装
lxy444 发表于 2021-8-3 14:11
感谢分享 不过已经好久不用 QQ 了其实
nankesama 发表于 2021-8-3 14:15
感谢分享
心空妙有 发表于 2021-8-3 14:19
这个好友看的到吗,我切了小号看还是显示手机在线
vtor 发表于 2021-8-3 14:29
哈哈哈哈哈哈,这个可以,还是这种接地气的比较适合我
vtor 发表于 2021-8-3 14:30
我顺带再吐槽一下,论坛里面最帅的是哪个?刚刚提交评论的时候需要验证这个问题
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-17 02:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表