此DiDi非滴滴打车,也不是国内的那个DiDi,貌似是国外的一个聊天软件,国内应该没什么人用吧.
官网在这里:www.digisocial.com
步入正题:
DiDi协议基于HTTP,用Fiddler可以截包的,基本上截到包看看就明白了,不会截包?请Google.
逆向DiDi后,协议实现的代码主要在"com\didirelease\service\NetworkEngineImpl.java"这里,具体的协议情况就不写了,感兴趣的自己截包看看就明白了.
DiDi协议最麻烦的地方应该是认证部分,加密算法用的是HMAC-SHA1,或许是本人见识短浅吧,搞了好久,怎么加密的,加密的什么已经搞明白了,不知道为什么写的代码进行登录就是不行.
认证的过程大致为:
oauth/request_token(这里用HMAC-SHA1加密URL(这个URL需要进行一下处理),然后用BASE64进行编码,然后GET提交)->
oauth/login(提交用户名、密码)->
oauth/authorize(貌似判断是否需要输入验证码)->oauth/access_token(获取到
oauth_token和
user_id,以后的所有操作都是靠这两个进行操作的)
等我研究明白认证的过程,有时间会补上来哦.
要是哪位大神分析过,望指点一下.