[关闭]
@ensis 2016-03-07T08:22:54.000000Z 字数 4552 阅读 1982

个推协议分析

推送


个推,极光,友盟


ximalaya
PUSH_APPID PYl50KpbSK9irMiCfGfCR7
PUSH_APPKEY Oz4h2UwgWg7hGeNY9AM45A
PUSH_APPSECRET ZZ2ceGVP4q5LvaEwOdlwP7

qunar
PUSH_APPID Tb75tF5D9U67kuUfsvXFi
PUSH_APPKEY DKJWCIFDo38GEJrvKUlwM9
PUSH_APPSECRET iN8o1vdbMVAecPpiexGWp8

changba
PUSH_APPID NQ09LAJudIAsw9QHlpMl11

getuidemo
APPID yVbgXX43lT92EainynRFY2


收到消息解析(GTRecord)

//igexin/push/c/a/c;
73ea68fb 14 05 34 01 10 21554ce5cfeafebc7552c88a4e7606bf 0048 06 02153cec5afc2f07658a18afdd05233c8d54a63dd60671a0204ba4c6331246dcb773a08eba1270a9a316e306a54ce9604817c6f5389671273cd30a6b47078cdb6c405e17db3bde5a

73ea68fb 4字节固定长度
14 4+len
05 固定
34 e
01 b?0>1:0
10 len(d)
21554ce5cfeafebc7552c88a4e7606bfd key d=md5(A-353918055539064-1453293158167)
00
48 LENGTH
06
02153cec5afc2f07658a18afdd05233c8d54a63dd60671a0204ba4c6331246dcb773a08eba1270a9a316e306a54ce9604817c6f5389671273cd30a6b47078cdb6c405e17db3bde5a tansbb(xx, md5(aimeimd5)) 解密密文


注册消息

Send '\x0e\xe94\x89V\x9f\xfbx\x00\x00\xff\x00*\x01\x15"GoSSIPdeMacBook-Air"\x04\x1148:d7:05:d0:d6:3f\x16yVbgXX43lT92EainynRFY2'
Recv '@\x0e\xe94\x89V\x9f\xfbx'

'\x0e\xe94\x89V\x9f\xfbx': 8个字节 App-client相关
'\x00\x00\xff\x00*\x01' : 6个字节,不变
length(1 byte), data, length(1 byte), data, ...

推送消息

解密后消息格式(GTPayload)

//igexin/push/c/c/n;
bd3a 81 000001526ef16288 06 e696b0e6b5aa 8652 payload

bd3a
81 coding b=0x81 & 0xc0
000001526ef16288 = int 1453560259208 currenttimemillis
06 len
e696b0e6b5aa 新浪
8652 (0x86&127)<< 7|(0x52&127) = 850,length of payload
payload

长度只负责后面字段的长度,总长度更新在GTPayload length字段进行。

EXAMPLE

<GTPayload  a=558 b=129 time=1456819166052 len=3 d='SPD' len1=135 len2=122 payload1='{"id":"b3573956-108f-15330e1e0f4-5260662573","condition":{"duration":""},"taskid":"TEST_0301_9219488175140249692f8d8859979f26","action_chains":[{"actionid":"1","do":"10000","type":"goto"},{"logo":"","bigStyle":2,"text":"\xe5\x86\x85\xe5\xae\xb9","is_novibrate":"false","isFloat":true,"type":"notification","is_noring":"false","notifyStyle":"6","actionid":"10000","title":"\xe6\xa0\x87\xe9\xa2\x98","big_text":"\xe5\xb1\x95\xe5\xbc\x80\xe5\xbc\x8f\xe9\x80\x9a\xe7\x9f\xa5-\xe6\x96\x87\xe6\x9c\xac","do":"10010","is_noclear":"false","logo_url":"https://dev.getui.com/images/ic_launcher.png"},{"actionid":"10010","do":"10030","type":"goto"},{"actionid":"10030","noinstall_action":"100","appid":"","do":"100","appstartupid":{"android":"","ios":"","symbia":""},"type":"startapp","is_autostart":"true"},{"actionid":"100","type":"null"}],"appkey":"NVTvPPfmJV5BXilEpQU9x6","action":"pushmessage","appid":"yVbgXX43lT92EainynRFY2","messageid":"b3573956-108f-15330e1e0f4-5260662573","push_info":{"message":"","action_key":"","launch-image":"","sound":"","loc-args":"","payload":"","action-loc-key":"","loc-key":"","badge":"-1"}}' len3=15 payload2='{"key":"value"}' len5=32 payload3='bee37f0ae18876ddba8b716715cdccd5' |>


2 deviceid a0354a325e8a424285ada714174f2a0f
3 A-imei-currenttimemillis A-353918055539064-1453434043464
14 accesstoken random()

md5(1453434045542)= c3 03 cf 81 44 23 e2 ee 00 ff 0a 6a 61 a7 df 71
md5(1453434045759) = 06 c7 03 d2 ed 46 db 65 2a 01 72 de d1 e8 02 29
md5(1453434045782) = d0 c7 ef 60 8a 29 ff 4f 3f 2c 39 69 3b 3c c4 a3
md5(1453434046171) =

md5('com.getui.demo')=d00667b01b068b932f3faecc56930b5d
appdb md5(applist) 9f9b9ca073a33b646a15679ed454a299

imeimd5 bb4c70c7d877f99f7ae07b72d0aa16a1
aimeimd5 814d98f6352d19ef37a4bcb50151f159
md5(aimeimd5) 6b665d5cd99ea6c698278671bfdab601
initpid
pcid 1328c17fdd11bd0f55ef5f789ee91a21 md5(appid||appsecret||appkey||packagename)

pushsdk.db

cfcd208495d565ef66e7dff9f98764da
非阻塞线程安全队列ConcurrentLinkedQueue

ByteBuffer.wrap( this.b.d( ((f)v0_1), this.d, ((g)v0_1).c ) )


唤醒消息

' \x8b\x81\x00\x00\x01S

com/sina/push/c/a/a/
com/sina/push/e/b/d
ixintui http://www.ixintui.com/ 唱吧
samsung push service:com.sec.spp.push-2.apk
\nl\xd9\x12\xbc\x0f\xdc? ximalayating

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注