最新得物小程序sign签名加密,请求参数解密,响应数据解密逆向分析
点击精选,出现https://app.dewu.com/api/v1/h5/index/fire/index
这个请求
直接搜索sign的话不容易定位
直接搜newAdvForH5就一个,进去再搜sign,打上断点
可以看到t.params就是没有sign的请求参数,
经过Object(a.default)该函数加密t.params得到sign
进去之后发现Object(r.parseTokenDraft)该函数加密(t, e)得到sign
再进入之后就是P(i += e)得到sign
i = 'extMap{"unionId":"oWZ-ct1gzBAx0Ric8JjOW0cpCsJw"}isVisitorfalselastIdlimit21newAdvForH5trueplatformh5tabIdversion4.73.0'
e = '19bc545a393a25177083d4a748807cc0'
P()方法就是md5加密
关于搜索接口
请求参数是密文,响应数据也是密文
请求参数的明文还是原来的地方,没什么好说的
s = {"sign": "57997a705fab8b9e854d9b9a026c4a27","title": "女鞋","page": 0,"sortType": 0,"sortMode": 1,"limit": 20,"showHot": 1,"enhancedSearch": 0
}
u = 'GET'// 结果
{"c": "1,xdw4","d": "{\"data\":\"95216559e6bc057ae3ac487a3f1f49f5OVn5pfyiu0CFJoMyyI7Pu9GGqfXuE6c0wh3PGdNjhPNj27w7CGGrwEO2lb6m2rHYwJXg4s1Afq4bz1t2xdNtQTNeZCwhPunjhYGEAq7TUGBogMKc3cZ0RT7ftSMHrFwer8I9eT+L/e59pgbPeWCQDQNX2+M0n+h/w3SSAX0VDg==\"}"
}
由该函数生成data请求参数 o.default.Fun110(JSON.stringify(s), u, “wx”)
其他扣代码就好了
最终结果一致
响应数据解密
var g = f.default.Fun99(e.data, v, _, "wx");// var g = f.default.Fun99(e.data, undefined, '1,1,0', "wx");return JSON.parse(g)
就是Fun99函数解密
最终可以得到数据