2条命令跑通手机号查QQ:phone2qq上手记
【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq
室友在找当年高三注册的QQ,只记得当时收验证码用的手机号,账号本体早忘了。phone2qq就是干这事的:给个手机号,还你一个对应的QQ号。Python3写的脚本,2条命令跑通。
三步跑起来
环境门槛不高,有Python3就行,脚本只依赖标准库,不用pip装东西。
代码先拿下来:
git clone https://gitcode.com/gh_mirrors/ph/phone2qq cd phone2qq改要查的号。整个脚本只有一处要动:qq.py 文件末尾的login.getQQ('10000000000'),把占位的号换成真实号码。
然后执行:
python3 qq.py号如果绑定了QQ,终端会直接打印QQ号;没绑定或者查询没走通,就输出 False。拿自己正在用的号试,是最直接的验证方式。
它里面在干嘛
项目只有两个源文件,分工清楚:qq.py 管网络流程,tea.py 管加解密,没有框架,也没有配置文件。
流程上是个「先验号、再查号」的两步握手。第一步把 0825 报文(QQ登录协议里的一个阶段编号)发给QQ服务器,验证手机号是否绑定了QQ,并从应答里拿回临时令牌和服务器信息。第二步带着令牌发起 0826 查询,通过了服务器就在应答包里返回QQ号。
收发报文全程用 TEA 密码(一种轻量分组加密算法,这里用来打包和解包登录报文)做加解密。想改逻辑,直接看 qq.py 里的 login0825 和 login0826 两个函数。
让它更好用
- 要一次查多个号 → 把号码列表写进 for 循环,逐个调 getQQ。文件里有一段注释掉的批量示例,放开改掉号段就能跑。
- 怕被限流 → 请求之间加 3 秒 sleep,别连发,也别挑高峰期查。
- 要留结果 → 把 print 那行写成落盘,存成 CSV,号码列表先去重,避免同一个号查两遍。
- 要换目标服务器 → IP 和 8000 端口硬编码在 qq.py 的 QQLogin 构造函数里,网络不通时优先去那里改。
🛠 翻车了怎么办
- 发完包长时间没回音 → UDP 8000 端口(UDP是传输协议的一种,发报文不用握手)被拦了,换个网络环境再试。
- 终端打出
0825 error!→ 号码没绑QQ,或者没开「手机号登录」,换个确定的号验证一下。 - 返回 False → 协议包本身可能已过期。README 里注明该方式 2016 年起可能就失效了,拿它当学习或修补对象,比指望它稳定工作更合适。
最后说两句
项目采用 Apache 2.0 许可,欢迎提 bug 修复或脚本改进的贡献。代码量不大,翻源码的门槛很低。
【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考