手机号查QQ号终极实测:免费Python工具几秒钟反查绑定QQ,全程本地运行
【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq
你有没有过这样的时刻:QQ号怎么都想不起来,手机号却记得一清二楚;同事甩给你一串手机号,让你核对对应的QQ账号;又或者你只是想确认,某个号码到底绑没绑QQ。去搜索引擎敲下"手机号查QQ号",迎面而来的却是满屏的付费查询、扫码登录、下载APP——每一个都像在跟你的钱包和耐心过不去。
别急。今天要聊的 phone2qq,就是一个免费开源的手机号查QQ号工具:纯 Python3 编写,全部代码加起来不到三百行,不依赖任何第三方库,本地运行、直接以加密协议和腾讯服务器对话,几秒钟就能把手机号对应的QQ号反查出来。
它到底是什么:一主一辅两个文件组成的迷你工具箱
一句话定位:phone2qq 通过模拟QQ客户端的登录握手流程,用手机号换取绑定的QQ号,全程在命令行里完成,不需要打开任何网页。
拆开看,它的全部家当就两个文件:
qq.py:主程序,封装了完整的两步握手逻辑tea.py:腾讯系TEA加密算法的独立实现,负责给通信数据加解密
它凭什么值得一试?四个亮点:
- 零依赖开箱即用:只用 Python 标准库,
socket、hashlib、struct这些自带模块就够了,装完 Python3 就能跑,不用pip install任何东西 - 协议级直连,不是爬虫:通过 UDP 8000 端口直接找服务器,绕开了网页和第三方中转,查询过程干净利落
- 内置加密通信:数据全程走 TEA 加密,传输内容不是明文裸奔
- 源码透明可改:两个文件全开放,想研究协议、想改造功能,随你折腾
小贴士:这个项目本质上是一份"协议逆向"的参考实现,作者自己都在 README 里吐槽"代码有点乱",但它恰好是学习加密通信和网络编程的好样本,每段十六进制串背后都有讲究。
最快上手路径:克隆仓库、替换号码、一次运行
上手不需要安装依赖,三步走:
第一步,把仓库拉到本地:
git clone https://gitcode.com/gh_mirrors/ph/phone2qq cd phone2qq第二步,确认 Python3 就位:
python3 --version看到版本号输出,环境就算备好了。
第三步,把要查的手机号填进去。项目自带的测试入口在qq.py末尾,默认用的是10000000000这个占位号码。两种改法任选其一:
直接改文件里的测试行:
login = QQLogin() print(login.getQQ('这里换成你的手机号'))或者以模块方式调用:
from qq import QQLogin result = QQLogin().getQQ('这里换成你的手机号') print(result)保存后运行python3 qq.py,终端就会打印出这个手机号绑定的QQ号;查不到时返回False。
小贴士:第一次跑通,建议先用一个你自己确信已绑定QQ的号码验证流程正常,再去做别的尝试,能省掉不少排错时间。
核心能力拆解:单号反查、批量轮询、加密模块
单号反查:getQQ() 一个方法走完全程
整个工具对外就暴露一个核心入口QQLogin().getQQ(phone)。把手机号传进去,它在内部自动完成两步握手——先是login0825()拿到临时凭证,再基于凭证发起login0826()换取QQ号。中间涉及的 MD5 摘要、随机序列、TEA 加解密,全部被封装在类内部,调用方只需要关心输入和输出,底层细节一概不用管。
批量轮询:一段循环把号码段过一遍
代码注释里留了一个现成的批量示例:用for循环遍历某个号段,逐个调用getQQ(),命中就打印"号码 >> QQ号"的对应关系。把这种思路稍微改一改,你就能处理手头一整份号码清单——读文件、逐行查询、把结果落盘,自己动手就能拼出一个完整的批量反查流程。单号能查,批量就能做,工具本身没给你设限。
TEA加密模块:自带加解密,可独立复用
tea.py不是qq.py的附属品,它本身就是一个完整的 TEA 加解密实现,对外暴露encrypt和decrypt两个函数,内部是 16 轮的标准 TEA 轮函数加上 CBC 模式的组装逻辑。这意味着你可以把它单独拎出来,用在其他需要对称加密的 Python 项目里;想理解腾讯系加密通信,拿它当教材也再合适不过。
横向对比实测:协议直查与传统找回通道的差别
拿"找回QQ号"这个最典型的需求来比一比。官方常规做法是走安全中心,流程大概是:打开找回页面 → 填手机号 → 等验证码 → 按提示完成一堆验证。步骤多、环节长,还得保证手机能正常收短信。
而 phone2qq 的路径完全不同——本地发一个 UDP 报文,加密握手,直接要答案。把两者的差异列成一张表:
| 对比维度 | 传统找回通道 | phone2qq 协议直查 |
|---|---|---|
| 前置条件 | 需要能收发短信 | 号码需开启手机号登录 |
| 操作步骤 | 多步页面引导 | 一条命令 |
| 数据处理 | 经过官方页面链路 | 全程本地、加密直连 |
| 结果形式 | 页面展示 | 终端直接打印QQ号 |
| 依赖环境 | 浏览器 | Python3,零第三方依赖 |
需要坦白的是:这毕竟是个老项目,底层走的是若干年前的登录协议,稳定性存在天花板——这也正是下一节要重点提醒的。
避坑指南:五个让查询结果为空的高频原因
实测中,"结果为空"往往是下面几个原因造成的,逐个排查就能少走弯路:
- 手机号没开通"手机号登录"。README 里白纸黑字写了这个前提,号码没开这个功能,协议握手根本走不完,返回
False是正常现象。 - 底层协议已过时。项目里标注了"可能已失效"的提示,说明这套握手逻辑基于旧版协议。能不能查通、什么时候查不通,取决于服务器侧是否还兼容老协议。
- UDP 8000 端口被网络环境拦截。工具走的是 UDP 而不是 TCP,部分防火墙或运营商网络会丢 UDP 报文,表现为"一直收不到响应"。
- 查询频率太高触发风控。代码注释里那个
for i in range(10000)的批量示例,真拿来一次性打一万条,大概率会被对面拉黑。批量查询务必控制节奏、加间隔。 - 把
False当成了"没绑QQ"。False可能是"没查到",也可能是"协议没走通",两码事。判断前先换一个已知绑定的号码,验证工具本身是否正常。
小贴士:以上任何一条都可能导致查询失败,所以最佳实践是"小步试跑"——先用一两个号码验证连通性,再决定要不要上批量。
收尾:这个工具适合谁,下一步怎么用
说到底,phone2qq 的价值更多在三个方向:学习——研究QQ协议和 TEA 加密的绝佳样本;应急——偶尔需要反查一下手机号对应QQ号时的轻量选择;二次开发——基于tea.py或整套握手逻辑,改造成自己想要的样子。
下一步的建议很具体:
- 先把
qq.py里的占位号码换成自己的,跑通第一轮查询,建立对工具的信心 - 有批量需求时,参考注释里的循环思路自己封装脚本,并做好限速与失败重试
- 想深入了解加密通信,就从
tea.py的encipher和decipher两个函数啃起
最后多说一句:查询他人号码对应的QQ账号,涉及隐私与合规问题,请只在你有权核实的范围内使用。工具本身是无罪的,怎么用,取决于使用者。动手跑起来吧——你的第一次协议直查,就在一条命令之后。
【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考