当前位置: 首页 > news >正文

阿里系bx_et加密分析

阿里系bx_et加密分析

文章仅为学习研究,如有侵权请联系删除

调用分析在这里插入图片描述

  • 以阿里的滑块验证为例分析
  • 调用位置很好找、全局搜索即可在这里插入图片描述
  • 存在window.etSign对象就执行window.etSign("GET" === e.type ? e.url + "?" + a : e.url)
  • 否则就默认"nosgn"
  • 实际就是对url+params加密
  • 全局搜索window.etSign找赋值在这里插入图片描述
  • 没有赋值,就可以猜测是加密脚本执行后创建的
  • 先断在调用处在这里插入图片描述
  • 跟进到了et_f.js在这里插入图片描述
  • 全扣补环境

JS执行分析

  • bx_ua很像,也是switch控制流
  • 但是没有bx_ua混淆那么严重
  • 如果手补(不使用jsdom)过bx_ua的环境补这个将非常简单、直接拿bx_ua的环境再随便补几下就能过
  • 补的时候最好保存原型链的写法
  • 返回什么类型的接口就创建什么函数对象,子对象就call(this)父对象
  • 这样才能监控到完整的调用链
  • 监控属性要健全,比如在这里插入图片描述
  • 一些读原型链的调用才能被监控
  • 用的比较多的getOwnPropertyDescriptor, hasOwnProperty, has都是常用的属性判断方法
  • 原型链补法加健全的监控代理补起来并不算难,但比较耗时间
  • 最近分析x5sec我又重补bx_ua的时候也坐了几个小时才出值,后面对比环境数组和调试分析又耗了几个小时。。。
  • 贴一些比较难找的环境
  • String.prototype.charAt.value = 2; 这个是调试出来判断点。。。在这里插入图片描述
  • 这里是检测toString在这里插入图片描述
  • webgl2d不通环境值不一样、按部就班补就行
  • 补的时候在浏览器创建个相同的对象跟着一步步调用看返回值在这里插入图片描述
    在这里插入图片描述
  • 2d补完会有个toDataURL返回值拿浏览器值也行,随便写一个也行,只判断了是否有值在这里插入图片描述
  • document.all随便返回长度的对象都行在这里插入图片描述
  • 插件也可以随便补,模拟一下就行了在这里插入图片描述
  • bx-et多了个cryptoopen在这里插入图片描述
    在这里插入图片描述
  • 其它也好像也没什么比较难找的环境,打好监控代理都能获取到
  • 主要是细心加熬时间

出值

  • 生成结果在这里插入图片描述
  • 有人问为什么不做纯算, 什么叫纯算, 算法?
  • 还是js以外的语言算法,那为什么不使用js做运算,是不是也符合纯算
  • 以上面补环境为例,是不是就等于 js算法 + 一些无关紧要的环境代码
  • 不要太小看js的性能了,上面是套了一层js vm又有一些框架初始化也是毫秒级,如果是使用其它语言比如python来执行js那肯定会有一定的性能问题,光是启动引擎都是耗时大头
  • 真想快就起个node http server,把加密运算单独出来,node + js算法 是不是也变相等于纯算了,速度只会更快
  • 应该更关注于结果,中间只是学习的过程
http://www.lryc.cn/news/612796.html

相关文章:

  • 构造函数:C++对象初始化的核心机制
  • 天猫商品评论API技术指南
  • uni-app X能成为下一个Flutter吗?
  • Flutter报错...Unsupported class file major version 65
  • C# 异步编程(async_await特性的结构)
  • PyTorch 核心三件套:Tensor、Module、Autograd
  • `/dev/vdb` 是一个新挂载的 4TB 硬盘,但目前尚未对其进行分区和格式化。
  • vscode 打开设置
  • Flutter 三棵树
  • 【物联网】基于树莓派的物联网开发【25】——树莓派安装Grafana与Influxdb无缝集成
  • CentOS 7 下通过 Anaconda3 运行llm大模型、deepseek大模型的完整指南
  • 人工智能的20大应用
  • 从Centos 9 Stream 版本切换到 Rocky Linux 9
  • 360纳米AI、实在Agent、CrewAI与AutoGen……浅析多智能体协作系统
  • 构建在 OpenTelemetry eBPF 基础之上:详解 Grafana Beyla 2.5 新特性
  • 【0基础3ds Max】菜单栏介绍
  • 多模态融合(Multimodal Fusion)
  • PCIe Base Specification解析(九)
  • mapbox进阶,mapbox-gl-draw绘图插件扩展,绘制新增、编辑模式支持点、线、面的捕捉
  • 什么是SpringBoot
  • Shuffle SOAR使用学习经验
  • Q-Learning详解:从理论到实践的全面解析
  • 扎根国际数字影像产业园:共享空间助力企业高效发展
  • 施耐德 Easy Altivar ATV310 变频器:高效电机控制的理想选择(含快速调试步骤及常见故障代码)
  • 【3D图像技术分析与实现】谷歌的AlphaEarth是如何实现的?
  • 告别Cursor!最强AI编程辅助Claude Code安装到使用全流程讲解
  • 常见命令-资源查看-iostat命令实践
  • cuda编程笔记(13)--使用CUB库实现基本功能
  • 基于LLM的大数据分析调研
  • 大模型量化原理解析