声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!a15018601872
1.逆向过程
最近一直在研究抖音和美团滑块,抖音前几天看了半天研究算法,我太菜了,卡在最后的一部分加密没看懂,不过补环境和阿里有点类似的过程,基本会阿里的都能过抖音,但是挺考验补环境功底的。我还是打算之后一起算法,和补环境一起搞。美团这个由于把轨迹进行特殊处理了,没看懂所以我也参考了阿里滑块的思路,直接通过movemouse传进去就行了把数组补齐就行了,目前补到了开头webgl就放弃了,马上期末比较忙,已经很久没怎么学习过逆向,基本都在搞linux,打算先入行搞些简单的,后续看看能不能转开发,毕竟我对我基础功底还是挺自信但是和大神比就差多了,只能说都会一点点。搞滑块真的搞到自闭了,比滑动难太多了,轨迹一直没研究明白怎么搞,彩还是得多练才行。
1.1.token
token就比较简单,补一下screen,navigator,location,addEventListener,收集一些真实轨迹就行了。调用方法完成加密。
2.mtgsig
有人问我补环境怎么学的,我也忘了怎么学的,我记得我遇到的第一个补环境是同花顺吧,然后是瑞数4,接着就看着文档自己摸索,结合开源框架自己慢慢学的。第一次补环境起到质变,就是补的mtgsig。然后就开启基本都会补一点了。
这是我的加密代码解法思路。补环境就不说了,实在不行用jstools,我也研究过jstools很久了,对补环境学习挺有用。算法我也教不了,因为我已经都是菜狗。看到日志密密麻麻就烦。
function getUrl(){
method="GET"
data={
"shopId": "l29sKPkmZC8WxQmg",
"cityId": "1368",
"shopType": 10,
"order": "all",
'summaryName':undefined
}
t="路径"
var r = function(t) {
var e = [];
for (var i in t)
e.push(i + "=" + t[i]);
return e.join("&")
}(data)
s = location.protocol + t + "?" + r;
token=reload(s)
originUrl=decodeURIComponent(`###################/${data['shopId']}`)
url=`路径?shopId=${data['shopId']}&cityId=${data['cityId']}&shopType=${data['shopType']}&order=${data['order']}&_token=${token}&platform=1&partner=150&optimusCode=10&originUrl=${originUrl}&yodaReady=h5&csecplatform=4&csecversion=2.4.0`,
data2={
"url": url,
"method": method,
"headers": {
"Accept": "application/json, text/javascript, */*; q=0.01",
"X-Requested-With": "XMLHttpRequest"
},
"openArg": [
"GET",
url,
true,
null,
null
],
"signType": 2,
"oriUrl": `#################?shopId=${data['shopId']}&cityId=${data['cityId']}&shopType=${data['shopType']}&order=${data['order']}&_token=${token}&platform=1&partner=150&optimusCode=10&originUrl=${originUrl}`,
"SCaApp": false,
"openHookedCount": 1,
"isRaptor": false,
"sendHookedCount": 1,
"data": null
}
}
3.结果