阿里系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算法 是不是也变相等于纯算了,速度只会更快
  • 应该更关注于结果,中间只是学习的过程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值