当前位置: 首页 > news >正文

手机号查QQ号 3 分钟跑通:phone2qq 从原理到批量查询教程

手机号查QQ号 3 分钟跑通:phone2qq 从原理到批量查询教程

【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq

只记得手机号却忘了 QQ 号?开源项目 phone2qq 用纯 Python 模拟 QQ 登录协议实现手机号查QQ号:改一行手机号、跑一条命令,返回数字就是关联的 QQ 号,返回 False 表示查不到,全程零第三方依赖。

⚖️ 官方找回走几道验证,phone2qq 只走三步

先看清它和常规找回路径的差别,再决定值不值得折腾:

维度phone2qq官方账号找回
操作改手机号 → 运行 → 出结果,共 3 步短信验证、好友辅助等多道流程
耗时秒级到分钟级通常 5 分钟起步,验证卡壳更久
自动化可脚本化、可批量每个号都要人工走一遍
前提目标账号已开启手机号登录至少一种验证手段可用
稳定性逆向协议,随时可能失效官方维护,长期稳定

一句话:它赌的是"快"和"能写脚本",代价是协议一变就罢工——作者在 README 里也注明"该方法可能已经失效"(2016 年)。

📦 项目全貌:两个文件、零依赖

phone2qq 的全部家当就这么点:

文件角色规模
qq.py主程序:QQLogin 类负责构造报文、收发 UDP、解析结果200 行出头
tea.pyTEA 加密算法,只暴露 encrypt / decrypt 两个函数70 多行

依赖只有 Python 3 标准库(socket、hashlib、struct、ctypes),不装任何第三方包,环境里有 Python 3 就能直接跑。

🔐 原理拆解:一个加密箱子,两次"报到"

TEA 加密可以理解成保险箱:手机号、密码摘要这些字段先塞进箱子、用密钥上锁再寄出,服务器回包也是一口锁着的箱子,必须用同一把钥匙打开。tea.py 里实现的就是 QQ 通讯在用的 TEA 变种:16 轮迭代、8 字节分组,轻量但足够打乱数据。

整个查询是两段 UDP 请求,相当于"先报到、再办事":

  1. 0825 报到(login0825):把 11 位手机号按协议拼装进报文,用固定密钥加密后发给服务器,换回三样东西——会话令牌 token0825、服务器时间 serverTime、服务器 IP serverIP。这一步没拿到正常响应,程序打印 0825 error 并放弃。
  2. 0826 办事(login0826):把令牌、服务器时间、服务器 IP 和一段密码摘要拼装进报文加密发出——密码位写死了占位值 123456,并不需要真实密码。服务器确认后从回包固定偏移处取出 16 进制 QQ 号,转成十进制返回;取不到就返回 False。

回包有两个解析分支(06 开头、fc 开头各对应不同偏移),后面排查"查出的号不对"时会用到。

🚀 首次查询三步跑通

第 1 步:拿到代码

git clone https://gitcode.com/gh_mirrors/ph/phone2qq cd phone2qq

第 2 步:填手机号。打开 qq.py,在 QQLogin 类初始化处把默认值换成目标号码:

self.num = '10000000000' # 改成 11 位手机号

第 3 步:运行

python3 qq.py

打印一串数字就是关联 QQ 号,打印 False 就是查不到。不想走主入口的话,直接调用核心方法:

from qq import QQLogin login = QQLogin() print(login.getQQ('13800138000')) # 返回QQ号或False

提醒一句:查询走的是真实登录握手流程,只对你自己名下或已获授权的号码做。

关键配置速查:平时改哪行、失效查哪行

qq.py 里 QQLogin 初始化暴露了这些参数(默认值较长,截断显示):

参数默认值含义
num'10000000000'要查询的 11 位手机号
address('183.60.56.100', 8000)服务器 IP 与 UDP 端口
fixedData'0000044b…'报文固定填充字段
hdKey'0251ca4a…'设备标识密钥
token0825 / serverTime / serverIP空串0825 回包后自动回填,不用手填

日常使用只改 num 一行;当工具突然对所有号码都失效时,优先检查 address 里的服务器 IP 是否已更换——这是最常见的整体性失效原因。

批量查询:一个 for 循环,一条红线

查询逐号进行,天然适合批量。源码底部留着一段注释掉的示例,放开注释、换掉号段即可:

for i in range(10000): num = '1360106%04d' % i # 号段换成你的目标范围 qq = login.getQQ(num) if qq: print('%s >> %s' % (num, qq))

红线只有一条:批量只查自己名下或已获授权的号码,无差别扫号属于滥用,别碰。

🩺 查询失败排查清单

现象可能原因处理
打印 0825 error!第一步登录未获正常响应:协议更新或服务器不可达先确认网络通、UDP 8000 没被拦;仍报错基本可判定协议已变,等上游更新
返回 False号码未开手机号登录、绑定关系已变更,或回包走了未覆盖的分支核对号码为 11 位纯数字;对照 login0826 中 06 / fc 两个分支的偏移解析
查出的 QQ 号对不上账号换绑过手机,拿到的是当前绑定关系以当前绑定为准,历史绑定查不到
长时间无响应UDP 8000 出站被防火墙拦截换网络环境或放行 UDP 出站

收尾:两条底线和一份学习材料

用之前把底线刻进去:

  • 只查自己或已获授权的号码,尊重他人隐私,遵守当地法规
  • 不用于商业爬取、不做无差别批量扫号

跑通之后有个高性价比的学习动作:通读 tea.py 的 70 来行代码,看一个 16 轮迭代、8 字节分组的对称加密如何在标准库之上落地——轮函数里位移、异或、加常量那套组合,是密码学入门很经典的样本。

【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4232166.html

相关文章:

  • Keysight精密SMU软件控制详解:从SCPI到Python实现高效I-V扫描
  • YOLO安全监控系统实战:从模型选型到部署落地的完整指南
  • 网盘直链下载助手 LinkSwift:三分钟拿到九大网盘的真实地址
  • 600张猴子图片训练YOLOv8目标检测实战全流程
  • 光伏系统建模:气象-设备-电网-经济四维耦合实战解析
  • 魔兽争霸3地图大小和帧率限制一次拆掉:WarcraftHelper保姆级配置指南
  • 免费格式转换:ncmdumpGUI 3分钟还原NCM文件
  • 洗衣机动态设计:从振动控制到交互反馈的系统工程
  • Zizq任务队列:单二进制部署,轻量异步处理新选择
  • KM算法实战指南:从数学建模到Java/C++工程落地
  • 安卓第三方ROM制作:super格式解包打包全流程实操指南
  • Fish Sense:多传感器融合的智慧渔业鱼塘监测系统
  • 微信小程序唐诗诗词页面源码解析:从解压到上线的避坑指南
  • 基于springboot+vue智能水产养殖管理系统
  • Python构建多模态知识图谱的中医智能诊疗平台实战
  • SPSS与MATLAB在数学建模中的应用:从数据分析到综合评价
  • 数学建模竞赛提交全攻略:从PDF生成到成功提交的避坑指南
  • 模型火车自动运行全解析:从传感器闭环到无人值守实战
  • YOLO车辆行人识别数据集:从标注到训练的完整实战指南
  • 计算机毕业设计之基于Android的旅行交友系统的设计与实现
  • Kafka Console UI:5分钟怎么把轻量级 Kafka 可视化管理平台跑起来
  • 嵌入式虚拟软件开发实战:从QEMU/Renode到CI回归
  • 攻防演练的资源账本
  • 基于YOLOv5的钢材表面缺陷检测系统实战:从NEU-DET训练到部署
  • 深度解析Zephyr RTOS:设备树、Kconfig与FreeRTOS迁移实战
  • 可穿戴设备无线充电方案:ROHM超紧凑芯片组深度解析
  • Python列表完全指南:从创建、增删改查到性能优化
  • 陪伴型AI兔兔:从Live2D到情绪驱动对话的完整落地指南
  • 蓝桥杯单片机国赛核心技术解析:从DAC7578驱动到状态机编程实战
  • 计算机单片机毕设实战-基于单片机的自动手动双模式婴儿监护摇床设计与研究 基于传感器采集的婴幼儿环境监测智能摇床系统设计(025404)