某某航空 (新版)同盾 blackbox 补环境
文章目录
- 概要
- 整体架构流程
- 技术名词解释
- 技术细节
- 小结
概要
提示:仅供学习,不得用做商业交易,如有侵权请及时联系
逆向:某某航空 (新版)同盾 blackbox 补环境
URL:aHR0cHM6Ly9wYXNzcG9ydC5qdW5leWFvYWlyLmNvbS8=
整体架构流程
提示:补环境
这里就不分析流程,参考分析流程看我之前旧版的文章
-
加载一个td.js去加载_fmOpt这个对象和创建一个script标签:fm.js
-
fm.js会初始化浏览器环境,并且会通过XMLHttpRequest发送一个请求
-
会发送一个v2的包
-
请求的载荷数据是一个base加密的东西,加密的内容是经过wasm处理的
-
然后通过requestId和result进行wasm解密new TextDecoder()[“decode”],得到tokenId的值
-
最后这个tokenId经过处理得到blackbox
技术名词解释
提示:补环境---检查点
- bom和dom常见对象、
- window下各种配置属性和方法
- _fmOpt对象
window._fmOpt = {partner: 'jxhk',appName: 'jxhk_web',token: 'jxhk' + "-" + new Date().getTime() + "-" + Math.random().toString(16).substr(2),fmb: true,success: function (data) {debugger_blackbox = dataconsole.log('新版blackbox:',_blackbox)},fpHost: "https://xxx.net"
};
- 原型链:HTMLElement、WebGLRenderingContext等
- 异步对象:getBattery、OfflineAudioContext、RTCPeerConnection、
- 画布指纹:canvas、2d、webgl、
- "all"in document是否存在以及document.all.length
- toString:eval、HTMLElement、window、toDataURL、createAnalyser、plugins、getParameter、enumerateDevices、RTCPeerConnection、console.log、AudioContext、sampleRate等
- 描述符检测:getOwnPropertyDescriptor—WebGLRenderingContext.__proto__下getParameter、bufferData、HTMLElement.prototype下offsetHeight、offsetWidth。getOwnPropertyDescriptors:navigator、screen
- 最后观察指纹数组
技术细节
提示:nodejs生成
小结
提示:学习交流主页,星球持续更新中:链接https://t.zsxq.com/AJTw2