声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
关键代码
function getToken(data1,captchaCode) {
data = {
"country": data1['country'],
"riskLevel": data1["riskLevel"],
"session": data1['session'],
"sign": data1['sign'],
"verifyMethodVersion": data1["verifyMethodVersion"],
"mobile": data1['mobile'],
"type": data1['type'],
"isTrafficOpen": data1['isTrafficOpen'],
"yodaVersion": data1["yodaVersion"],
"mobileInterCode": data1["mobileInterCode"],
"bs": false,
"showRequestCodeSwitch": false,
"t": null,
"defaultIndex": 0,
"isDegrade": false,
"action": "login",
"riskLevelInfo": data1["riskLevelInfo"],
"request_code": data1["request_code"],
"category": data1["category"],
"uniqueId": data1['uniqueId'],
"timestamp": data1["timestamp"],
"requestCode": data1["request_code"],
"succCallbackFun": "yodaSlideSuccess",
"failCallbackFun": "yodaSlideFail",
"root": "pc-yoda-root",
"style": {
"wrapper": "wrapper",
"boxWrapper": "boxWrapper",
"imgWrapper": "imgWrapper",
"btnWrapper": "btnWrapper",
"moveingBar": "moveingBar",
"yoda-slider-tip": "yoda-slider-tip",
"yoda-module-wrapper": "yoda-module-wrapper",
"yoda-image-desktop": "yoda-image-desktop",
"input-wrapper": "input-wrapper",
"image-input": "image-input",
"image-input-label": "image-input-label",
"update-img-btn": "update-img-btn",
"btn-wrapper": "btn-wrapper",
"sure": "sure"
},
"yodaInitTime": data1["timestamp"]
}
window['seed']['config']=data
image = Yoda.image(data)
window['seed']['config']['f']=window['_f']
}
_token=window.q0(decodeURIComponent(window['atob'](image['fp']['reload']())), data1["request_code"],false)
// _token=window.q0(token,data1["request_code"],false)
return _token
}
function getAuthentication(data,ts){
return window.Jq("path",data,
{
"Content-Type": "application/x-www-form-urlencoded"
},ts)
}
部分补环境
delete global
delete require
delete __filename;
delete __dirname;
delete clearImmediate;
delete setImmediate
ActiveXObject = undefined
window.addEventListener = document.addEventListener = function (a,b,c) {
console.log('addEventListener', arguments)
window['a']=b
b({})
}
结果
总结
1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。