声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
目标
- aHR0cHM6Ly90aS5xcS5jb20vc2FmZS90b29scy9jYXB0Y2hhL3Ntcy12ZXJpZnktbG9naW4=
- 目标参数 cap_union_new_verify.collect
- 目标js文件 tdc.js?app_data=
分析
- 定位
-
在dy-ele.xxxxxxxx.js中搜索collect
-
单步进 o.getTdcData
-
getDate的时候会调用 setData(ft: ‘qf_7Pf__H’)
-
然后调用window.TDC.getData(!0)
-
追栈道tdc.js
-
- tdc.js分析
-
调试需要替换成固定js, 并且提前hook console, 便于后续的分析
-
插桩吐出生成collect参数的4段加密值以及对应的明文,整理后如图
-
主要要补的环境如下
- userAgent
- dom检测,正确为0(仔细查看日志分析,即使用现有框架也要补好几个地方)
- canvas指纹
- webgl指纹
- location.href
- languages
- 样式检测,edge环境正确为1023
- 轨迹数据
-
总结
- 插桩调试,分析检测的数据是啥对照浏览器中的正确值比对补全
- 最主要还是dom和样式检测,剩下的就是环境参数
最后来一张成功截图