瑞数自动化工具检测

分析瑞数对自动化工具的检测

window对象中检测的属性有#

  •  ["_Selenium_IDE_Recorder", "_selenium", "callSelenium"]

  • window["clientInformation"]["webdriver"]

  • window["navigator"]["webdriver"]

document对象中检测属性有#

["__driver_evaluate", "__webdriver_evaluate", "__selenium_evaluate", "__fxdriver_evaluate", "__driver_unwrapped", "__webdriver_unwrapped", "__selenium_unwrapped", "__fxdriver_unwrapped", "__webdriver_script_func", "__webdriver_script_fn"]
  • 属性检测
 document["__webdriver_evaluate"] || document["__webdriver_script_fn"]
  • 属性正则匹配?
for (var _$_f in document) {
   if (_$_f[0] === "$" && _$_f["match"]("^\\$[a-z]dc_") && _$Ym[_$_f]["cache_"]) {
       // 为标记位
       _$8O = 1;
   }
}      
  • 属性获取检测
_$7$ = ["selenium", "webdriver", "driver"]
for (_$is = 0; _$is < _$7$.length; _$is++) {
   if (_$Ym["documentElement"]["getAttribute"](_$7$[_$is]))
       _$8O = 1;
}

如果检测到是自动化工具#

给window全局对象赋值一个标记位

window._$_0 = 1;
// 具体啥逻辑没有分析
_$s6(148, 134217728, 31);

如何绕过检测#

通过 Object.defineProperty 方法重新修改返回值即可
例如:

Object.defineProperty(navigator, 'webdriver', {get: function(){return undefined;}})

posted @   小伟哥哥~  阅读(760)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示
主题色彩