简要介绍
逆向app的sign等参数破解
如果偶然间能给你带来灵感、思路,或是能够有所帮助,不胜欣喜。
所有的思路仅用于学习交流,请不要应用于非法用途。
APP列表
package | display | version |
---|---|---|
com.h-br.b-n | B-聘 | 8.060 |
com.luck-.l-t | 瑞-咖啡 | 4.4.0 |
com.l-a.beik- | 贝壳-房 | 2.31.0 |
com.m-i.mjw-ather | 墨-天气 | 8.0206.02 |
com.r-tong.h-r | 海-航空 | 8.1.1 |
B*聘
app:
com.h*br.b*n
BO*聘 sig参数
8.060
关键java类:
com.t*l.si*ner.Y*WG
关键so:
libyz*g.so 0x963*
逆向简析:
boss直聘 sig参数:
例子:params为{"a": 1, "b": 2}
==>> 数据排序 a=1b=2 值为temp1
==>> 左边加上 path 如 /api/zpgeek/app/geek/search/cardlist 值为temp2
==>> 右边加上 a308************ab6 值为temp3
==>> md5 hexdigest lower 为temp4
==>> 左边加上 V2.0 为最终值
关键的key值都**隐去了,只是交流学习。
贝壳*房
app:
com.l*a.be*ke
贝壳*房 Authorization参数
2.31.0
关键java类:
com.b*.b*se.ut*l.bk.Dev*ceU*il
逆向简析:
Authori*ation:
例子:{"a": 1, "b":2}
==>> 表单数据排序 去除& a=1b=2 值为temp1
==>> appsecret为 d5*********1ca ; hashlib.sha1(appsecret + temp1) 值为temp2
==>> base64.b64encode( appid + ":" + temp2) appid为 201*****d
关键的key值都**隐去了,只是交流学习。
瑞-咖啡
app:
com.luc*y.l*t
瑞*咖啡 sign参数
4.4.0
关键java类:
com.luc*inco*fee.saf*boxlib.Cry*toHelper
关键so
libcr*pto*D.so 0x1B1C* 0x1828* 0x173D*
逆向简析:
sign:
例子:{'a':1, 'b':2}
==> a=1;b=2 为temp1
==> temp+salt 为temp2 其中salt是"d********9"
==> md5 digest 为temp3
==> temp3 16字节分成4部分 每个部分字节转成int 如果是负数乘-1 然后四个结果拼接在一起就是最终结果
关键的key值都**隐去了,只是交流学习。
墨*天气
app:
com.m*i.mj*eat*er
墨*天气
8.0206.02
关键java类:
com.mo*i.m*wea*her.li*rary.Di*est
关键so:
libenc*ypt.so 0x234*
逆向简析:
sign:
例子:{"a": 1, "b": 2}
==>> 表单数据json dump 并去除空格 {"a":1,"b":2} 为temp
==>> temp + salt 为 temp2 , salt值为 KA****id
==>> md5 temp2 hexdigest
关键的key值都**隐去了,只是交流学习。
海*航空
app:
com.r*tong.h*r
海*航空 hnairSign参数
8.1.1
关键java类:
com.r*tong.h*air.H*ASignature
关键so:
libsi*nat*re.so 0xD9C*
逆向简析:
hnairSign:
例子:{"darbra": {"a": 1, "c":3}, "arbrad": {"b": 2, "d": 4}}
==>> data数据里的二层嵌套进行排序,并且只需要value值 1234 值为temp1
==>> 右边加上salt,temp1 + salt 为temp2, salt值为 F6B******069F
==>> hmac: hmac.new(hmackey, temp2, digestmod=hashlib.sha1).hexdigest().upper()
hmackey为 21**********491
关键的key值都**隐去了,只是交流学习。