whatsap 两种账号获取方式
使用模拟器/手机 注册账号
注册成功之后会在 数据目录(/data/data/com.whatsapp)下生成两个很重要的文件, 文件目录 /data/data/com.whatsapp/shared_prefs。
/data/data/com.whatsapp/shared_prefs/com.whatsapp_preferences_light.xml
// 列出一些关键字段,其他字段省略
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map><string name="registration_jid">13965452665</string><string name="version">2.21.19.17</string><string name="cc">7</string><string name="phoneid_id">978d178e-9114-1gha-71ds-9342c66ee627</string><string name="perf_device_id">c8d2b9db-6018-47d3-9ed6-d008e315cc2e</string><string name="push_name">gody</string>
</map>
/data/data/com.whatsapp/shared_prefs/keystore.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map><string name="server_static_public">xDn6MqBPn3O6ptDhPQt/tqcXrv2dK7aR//NQLFIVal0</string><string name="client_static_keypair_enc">[0,"yAakSmk7qK9rhuv4TYTqU7hr10Pb7zyoZmkeungGz9gYNOostzfTwO8jGo27Fm2x2GByRf5Aokd82snMCjuF0sMh4WGqIxtQagfh6\/UDql0","hHA+fHQDI2T8UI3E"]</string><long name="client_static_keypair_enc_success" value="4" /><boolean name="can_user_android_key_store" value="true" /><string name="client_static_keypair_pwd_enc">[2,"EVjX2rol6V8\/CWQKR\/Y32ekWN1GbsmVU9N2j931T8qF8V3ah9wSAGS9UDTg66uG\/CH1WgqMWpYi+Kg++aJSG5A","b2kxSMk5r7XAe5rL+Carrg","UwzPaw","7W8V9LYhMy2\/JgIPICYIkA"]</string>
</map>
这里最重要的是两个字段,client_static_keypair_enc 和 client_static_keypair_pwd_enc 分别是 登录使用的公私钥。这两个字段都是加密的,client_static_keypair_enc 解密过程特别复杂, client_static_keypair_pwd_enc 解密简单。 可以直接使用工具导出数据库,工具代码开源。 whatsapp_config_tool.apk 以及 WhatsappConfigTool 源码。
git 传送门
使用协议注册账号
接收验证码可以使用 短信也可以使用语音, 短信可能会接收不到验证码, 而且问题可能比较多,实际测试用语音接收验证码 没有问题,而且注册完之后直接登录,功能正常。使用协议注册需要安装jdk 环境。 然后就可以直接使用cli 工具了
工具下载地址
解压目录
运行
出现 WebSocket Client connected! 说明连接成功了, 开始注册账号了
1) 检查账号是否已经注册
CheckAccountExist test 91 7069589489
2) 请求发送验证码(短信和语音选择一种,语音稳定)
// 短信验证码
CodeRequest sms
或者
// 语言验证码
CodeRequest voice
3) 注册账号
Register 996789
4) 登录
login test 917069589489 none
登录成功之后就可以 各种操作了。 具体的操作可以参考 read me 文档
命令源码