news 2026/8/18 10:18:45

手机号查QQ号3分钟搞定:phone2qq开源工具完整使用教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手机号查QQ号3分钟搞定:phone2qq开源工具完整使用教程

手机号查QQ号3分钟搞定:phone2qq开源工具完整使用教程

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

忘了QQ号却记得手机号,是不是很抓狂?手机号查QQ号这个需求其实比想象中常见:换了新手机、卸载了QQ、或者只存了号码没存账号。开源项目phone2qq正是为此而生——它用纯 Python 实现,通过手机号逆向查询关联的QQ号,全程命令行操作,代码量极小,几分钟就能跑通。本文就带你完整上手这个小工具,并讲透它的工作原理与使用边界。

为什么你需要一个手机号查QQ号的小工具

日常中这类场景并不少见:

  • 换新手机后,只记得绑定用的手机号,QQ号却想不起来
  • 想联系老朋友,翻遍通讯录只有号码,QQ号早就不记得了
  • 同时管理多个QQ号,绑定关系一团乱麻,需要核对
  • 想确认某个手机号是否已经注册过QQ

传统做法要么走官网找回,动辄短信验证、好友辅助验证好几步;要么找客服人工处理,耗时半小时起步。而 phone2qq 的初衷,就是用一段代码把这些过程压缩成一次直接查询——输入手机号,拿到QQ号,仅此而已。

phone2qq 是什么:轻量到只有两个 Python 文件

项目名叫 phone2qq,直译就是"手机号转QQ号"。它针对的是已开启手机号登录的QQ账号,通过模拟QQ登录协议向服务器发起查询。

整个项目精简得令人惊讶:

文件作用
qq.py主程序,负责构造查询请求、与服务器通信、解析结果
tea.pyTEA 加密算法的独立实现,提供encrypt/decrypt两个函数

核心逻辑集中在QQLogin类里,没有第三方依赖,环境里只要有 Python 3 就能跑。这种"两个文件搞定一件事"的极简风格,正是它最鲜明的特点。

手机号查QQ号的工作原理:一场加密的"两次握手"

想理解 phone2qq 怎么工作,可以先记住两个比喻:

TEA 加密就像保险箱。手机号、密码这些敏感字段不能明文发给服务器,于是先塞进一个用密钥上锁的箱子(tea.encrypt),服务器回包同样是一口加锁的箱子,需要用同一把钥匙打开(tea.decrypt)。tea.py里实现的正是 QQ 通讯用的 TEA 变种算法,16 轮迭代、8 字节分组,轻量但足够混淆数据。

两次登录就像"先报到、再办事"。整个查询要完成两段 UDP 请求:

  1. 0825 登录login0825):把手机号用固定密钥加密后发给服务器,相当于先亮明身份,换回一张"会话令牌"(token0825),同时拿到服务器时间(serverTime)和 IP(serverIP)。
  2. 0826 登录login0826):带上令牌和本地算出的密码摘要再次加密通信,服务器确认无误后,从回包里按偏移量取出 16 进制 QQ 号,转成十进制返回。

整个过程走 UDP 直连、全加密传输,肉眼看到的就是一串串十六进制报文,最终在终端吐出你要的QQ号。

phone2qq 快速上手:三步跑通第一次查询

不需要安装任何依赖,照着这三步走即可。

第一步:获取项目代码

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

第二步:填入要查询的手机号

用编辑器打开qq.py,找到QQLogin类的初始化部分,把默认手机号改成你自己的:

class QQLogin(): def __init__(self): self.num = '10000000000' # 改成你要查询的11位手机号

第三步:运行主程序

python3 qq.py

程序会调用login.getQQ('10000000000')发起查询,返回一串数字就是关联QQ号,返回False则表示查询不到。当然,你也可以脱离主程序直接写调用:

from qq import QQLogin login = QQLogin() print(login.getQQ('13800138000')) # 传入11位手机号,返回QQ号或False

可以自定义的查询参数:认识这几个关键配置

QQLogin初始化时暴露了若干参数,非专业人士建议只改手机号,但了解它们有助于排查问题:

参数默认值含义
num'10000000000'待查询的手机号
address('183.60.56.100', 8000)服务器地址与 UDP 端口
fixedData'0000044b...'协议固定填充字段
hdKey'0251ca4a...'设备标识密钥
token0825/serverTime/serverIP0825 登录后回传的会话信息

如果服务器换了 IP,只需要改address一个元组即可,这也是最常见的失效原因之一。

手机号查QQ号的批量玩法:一条 for 循环搞定

查询是逐号进行的,所以天然支持批量。项目源码注释里就留着一段批量测试示例,把注释解开就能用:

# 批量遍历号段,逐个查询 for i in range(10000): num = '1360106%04d' % i # 号段拼接,可自行修改 qq = login.getQQ(num) if qq: print('%s >> %s' % (num, qq)) # 命中才打印

把号码段换成你自己的目标范围,就能一次性跑一批手机号。不过要提醒:批量查询只建议用于自己名下或已获授权的号码,无差别扫号属于滥用行为,务必规避。

与传统找回方式对比:phone2qq 的优势与代价

维度phone2qq官方账号找回
操作步骤改号码 → 运行 → 出结果,3步短信验证、好友辅助等多步流程
耗时秒级到分钟级通常 5 分钟以上
自动化完全可脚本化、可批量每号都要人工走流程
依赖条件对方已开启手机号登录需要验证手段可用
稳定性依赖非官方协议,可能失效官方维护,长期稳定

一句话总结:phone2qq 胜在"快"和"自动",代价是它走的是逆向协议,接口一旦变动就会失效(作者在 README 里也注明"方法可能已经失效"),属于应急与学习场景的利器,而非长期依赖的工具。

常见问题FAQ:查询失败、返回False怎么办

查询返回False或程序报错?

  • 确认手机号是 11 位纯数字,且该账号已开启"手机号登录"
  • 检查网络能否正常访问外网,UDP 8000 端口是否被防火墙拦截
  • 若服务器地址已变更,更新self.address配置

返回的QQ号明显不对?

  • 旧账号可能更换过绑定手机,查询结果对应的是当前绑定关系
  • 部分回包需要二次解密解析,可对比login0826recvData[6:14]recvData[14:22]两处偏移的解析分支

提示 0825 error?

  • 说明第一步登录未获响应,大概率是协议已更新或服务器不可达,此时基本可以判定工具失效,需等待项目更新。

写在最后:合规使用,把工具用在该用的地方

phone2qq 是一个优秀的逆向协议学习样本:TEA 加密实现、UDP 通信、协议报文构造,都是 Python 网络编程的好教材。但请务必守住两条底线:

  • 只查自己或已获授权的号码,尊重他人隐私,遵守当地网络安全法规
  • 不用于商业爬取或批量扫号,避免触碰法律风险

想立刻体验,git clone https://gitcode.com/gh_mirrors/ph/phone2qq后按本文三步跑一遍即可。跑通之后,建议再读一遍tea.py的加解密实现,看看一个轻量加密算法是如何在 50 行内落地成型的——那才是这个项目最值得学习的地方。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/18 10:17:46

TMSpeech两周实测:把Windows变成离线实时语音识别字幕机的上手攻略

TMSpeech两周实测:把Windows变成离线实时语音识别字幕机的上手攻略 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 去年夏天一次项目例会,我盯着会议室投影出了神,突然被领导点名…

作者头像 李华
网站建设 2026/8/18 10:16:36

网易云NCM文件车机打不开?ncmdump离线免费批量转MP3,3步搞定

网易云NCM文件车机打不开?ncmdump离线免费批量转MP3,3步搞定 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 车机连上U盘提示"格式不支持",旧手机播放器弹窗报错,NAS里躺着一…

作者头像 李华
网站建设 2026/8/18 10:14:43

深入了解 nvme-cli 命令行工具

坑边闲话:在当今的数据中心和个人计算领域,NVMe(Non-Volatile Memory Express)固态硬盘已经成为高性能存储的事实标准。作为一种基于 PCIe 接口的存储协议,NVMe 相比传统的 SATA 接口提供了更低的延迟、更高的带宽和更…

作者头像 李华
网站建设 2026/8/18 10:12:27

lsblk -d 命令

lsblk -d 是 Linux 中的一个命令,用于列出系统中所有的块设备(如硬盘、SSD 等),但不显示其分区信息。它提供了设备的基本信息,例如名称、大小、类型等。示例以下是使用 lsblk -d 的一个典型示例:$ lsblk -d…

作者头像 李华
网站建设 2026/8/18 10:11:49

嵌入式RT1064实战:RGB565转LAB色彩空间的高效C语言实现与优化

1. 项目缘起:为什么要在嵌入式平台上做色彩空间转换? 最近在做一个基于NXP RT1064和凌瞳OV系列摄像头的嵌入式视觉项目,遇到了一个挺有意思的需求:需要将摄像头采集到的RGB565格式图像,实时转换为LAB色彩空间&#xff…

作者头像 李华