最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【未解决】如何判断一个手机号是否已经注册微信

WeiXin crifan 8665浏览 0评论

【背景】

需求:

想要判断一个手机号,是否已经注册了微信了。

【折腾过程】

1.搜:

判断手机号 是否已注册微信

批量判断手机号码、QQ是否开通微信_百度经验

微信客户端->添加好友->添加手机联系人->

如果右边有出现 添加,则说明该手机号已开通微信

如果右边出现 邀请,则说明该手机号没有开通微信

 

->

所以可以想办法,模拟网页版,登陆微信

然后再去做此判断

模拟此过程

或许就可以实现:

用代码,判断一个手机号是否已注册微信了。

2.先去:

【记录】通过电脑上的浏览器登陆网页版的微信

然后网页版的微信里面,好像找不到,添加朋友,这个功能。

搜索手机号,也找不到要添加的朋友。

web version weixin not add friend

 

3.然后发现淘宝中,有很多人在卖对应的服务和软件:

检测手机号开通微信_淘宝搜索

以及其他人提供的服务:

判断手机是否注册微信服务 | 花儿SFDS | 照片 | jhbj22的立方时空 | 立方网

说明这个事情,技术上是可行的。

4.后来朋友说的一种办法:

  1. 拿个新手机和新手机号去注册微信
  2. 但是前提是:新手机上装了抓包工具,比如fiddler等等,然后再去注册微信
  3. 这样,微信注册期间,去访问对应的服务器,抓包工具就可以分析出对应的http的请求和相关数据了。
  4. 然后知道了逻辑后,就可以去写代码去模拟了。

理论上可行,实际上估计不容易。

5.然后就去试试:

【已解决】Android端有哪些http协议抓包工具

6.并去:

【记录】用Wireshark抓包分析移动端Android的HTTP请求

7.期间调试得到的一些数据:

Full request URI: http://minorshort.weixin.qq.comhttp://minorshort.weixin.qq.com/cgi-bin/micromsg-bin/reportkvcomm

6310	87.249680000	172.27.35.2	101.226.129.190	HTTP	446	POST http://short.weixin.qq.com/cgi-bin/micromsg-bin/getmfriend HTTP/1.1  (application/octet-stream)


"6310","87.249680000","172.27.35.2","101.226.129.190","HTTP","446","POST http://short.weixin.qq.com/cgi-bin/micromsg-bin/getmfriend HTTP/1.1  (application/octet-stream)"

H]`#BbE*@@W#e}Pv9cLZyP7LPOST http://short.weixin.qq.com/cgi-bin/micromsg-bin/getmfriend HTTP/1.1
Accept: */*
Cache-Control: no-cache
Connection: close
Content-Length: 136
Content-Type: application/octet-stream
Host: short.weixin.qq.com
User-Agent: MicroMessenger Client

_&61GHGgZ(X%v39/0:2r%]
OF
;Fy6(>:G]$b2&!9%l}0<TO!bc#9v3@

H]`#BbE@@#eUP*qKPZPOST http://short.weixin.qq.com/cgi-bin/micromsg-bin/batchgetheadimg HTTP/1.1
Accept: */*
Cache-Control: no-cache
Connection: close
Content-Length: 360
Content-Type: application/octet-stream
Host: short.weixin.qq.com
User-Agent: MicroMessenger Client

_&61GHGgZ({	Hh+8iDn\H7m>J=#QMp2 V"#_N|)#9GdRAnJpg{B>H5t|pZ?2 cL%2w>>YLBpB}S/>sFbdWPyC$iV We=IrJ:[8	Y~-/:Zlk{<e~J<`6 j8/x$57;_w(n}sUFS/U

H]`#Bb
E@@#e
UP*qKPZ

POST http://short.weixin.qq.com/cgi-bin/micromsg-bin/batchgetheadimg HTTP/1.1
Accept: */*
Cache-Control: no-cache
Connection: close
Content-Length: 360
Content-Type: application/octet-stream
Host: short.weixin.qq.com
User-Agent: MicroMessenger Client

_&61GHGgZ({	Hh+8iDn\H7m>J=#QMp2 V"#_N|)#9GdRAnJpg{B>H5t|pZ?2 cL%2w>>YLBpB}S/>sFbdWPyC$iV We=IrJ:[8	Y~-/:Zlk{<e~J<`6 j8/x$57;_w(n}sUFS/U

_&61GHGgZ({	Hh+8iDn\H7m>J=#QMp2 V"#_N|)#9GdRAnJpg{B>H5t|pZ?2 cL%2w>>YLBpB}S/>sFbdWPyC$iV We=IrJ:[8	Y~-/:Zlk{<e~J<`6 j8/x$57;_w(n}sUFS/U


H]`#BbEeQ@@#=)P?.pPPOST http://minorshort.weixin.qq.com/cgi-bin/micromsg-bin/reportkvcomm HTTP/1.1
Accept: */*
Cache-Control: no-cache
Connection: close
Content-Length: 425
Content-Type: application/octet-stream
Host: minorshort.weixin.qq.com
User-Agent: MicroMessenger Client

_&61GHGgZ(%v39/0:2r%]
OF
;Fy6(>:G]$b2&!9%sbPq"P8^3Y`U[3d+wm7zV);<g&tJNs((sYqJ3DzreH;.sy	T418 vr^
?05\lCD\YD?(`+ V=`i|tc
pIQoW
jfI $.U8b]`d"gJlHWk)?|H][

8.其他一些值得参考的资料:

微信协议简单调研笔记 – 聂永的博客 – BlogJava

微信源码结构(ios版) – Xoneday – 博客频道 – CSDN.NET

danghvu/WeChatRE

微信注册请求链接 – macwhirr123 – 博客频道 – CSDN.NET

 

 

【总结】

最终的结果是:

目前只能看到基本的微信的一些API的URL,比如:

http://minorshort.weixin.qq.com/cgi-bin/micromsg-bin/reportkvcomm

http://short.weixin.qq.com/cgi-bin/micromsg-bin/batchgetheadimg

http://short.weixin.qq.com/cgi-bin/micromsg-bin/getmfriend

但是对于POST的数据,好像都是二进制octet-stream,不知道具体数据的格式和含义,并且这些数据十有八九是加了密的,现在也不知道加解密算法。所以还是无法分析出逻辑。

转载请注明:在路上 » 【未解决】如何判断一个手机号是否已经注册微信

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.197 seconds, using 22.05MB memory