约炮神器MM协议分析(一)讲到如何抓包。抓到包之后的头一个步骤,遍是想办法怎么解包。
说到解包,很多人都会以为跟webqq一样容易。其实不然。MM的一些防护策略包括在本地算法生成一些提交参数。
这其中很多参数都可以固定,为什么这么说呢,因为基本都是一些硬件信息。但是如果你想批量尝试登录,那肯定得想办法把这些硬件信息随机化,网上有很多这方面的生成工具可以去试下。
Uid:安卓客户端对应一个ID值,每台安卓手机都是唯一固定的。
screen:安卓的分辨率
model:安卓版本的内核名称
rom:安卓系统的版本号
phone_type:手机制式类型
device_type:android,设备类型,一般是固定的
emu:是否是仿真机器,1为仿真,0为真机
mac:手机的mac地址,可用软件随机生成。
buildernumber:版本生成时间。
password:用户密码的一次md5加密
apksign:MM客户端的apk签名
version:客户端版本号
phone_network:网络环境,1为移动数据,2为wifi
osversion_int:操作系统位数,固定
account:帐号
gapps:固定
market_source:固定
etype:固定
以上是参数部分,基本没多大难度
提交的页面:https://api.immomo.com/api/v2/login
POST提交上去之后,如果返回:{“errcode”:404,”errmsg”:”u8d26u53f7u6216u5bc6u7801u9519u8bef”,”ec”:404,”em”:”u8d26u53f7u6216u5bc6u7801u9519u8bef”,”timesec”:1408438999,”data”:{}}
代表参数错误
如果是类似于:{“ec”:0,”em”:”success”,”timesec”:1393450362
代表登录成功了。这样的话第一步就成功了。但是显然不是终点,后面还有很多需要忙的地方。