当前位置:首页 » 《我的小黑屋》 » 正文

015.chromium源码修改-绕过cdp检测

28 人参与  2024年10月29日 17:20  分类 : 《我的小黑屋》  评论

点击全文阅读


一、cpd检测是什么

开发者工具协议(Chrome DevTools Protocol,就简称CDP)cdp检测(Chrome DevTools Protocol Detection),是许多网站常用的机器人检测手段之一。通常是利用浏览器开发者工具的进行的功能检测或漏洞探测。当每次打开F12控制台,或者使用selenium,puppeteer之类的自动化工具打开网页,都会被识别成机器人。这种情况基本就是因为有cpd检测。

二、cdp检测原理

cdp检测的原理一般是利用console.debug()函数来实现,当你打开consle控制台时,console.debug()才会真正的被调用。一旦console.debug()函数被触发,我们就可以认定你打开了F12控制台。

三、代码实现cdp检测

编写一个html文件,随便取名111.html。
<!DOCTYPE html><html><head><title>Detect Chrome DevTools Protocol</title><script>function genNum(e) {return 1000 * e.Math.random() | 0;}function catchCDP(e) {if (e.chrome) {var rng1 = 0;var rng2 = 1;var acc = rng1;var result = false;try {var errObj = new e.Error();var propertyDesc = {configurable: false,enumerable: false,get: function () {acc += rng2;return '';}};Object.defineProperty(errObj, "stack", propertyDesc);console.debug(errObj);errObj.stack;if (rng1 + rng2 != acc) {result = true;}} catch {}return result;}}function isCDPOn() {if(!window)return;const el = document.querySelector('span#status');if(!el)return;el.innerText = catchCDP(window) ? "yes":"no";}function init() {isCDPOn();setInterval(isCDPOn, 100);}document.addEventListener("DOMContentLoaded", init);</script></head><body><p>CDP Detected: <span id="status">-</span></p></body></html>
这个html很吊,每次打开F12,或者使用selenium,puppeteer之类的自动化工具打开这个页面,都会被识别成机器人。

四、修改源码绕过cdp检测

第一篇文章写了如何编译chromium,假设你已经编译成功了。找到源码:\v8\src\inspector\v8-console.cc
1.找到下面的代码
void V8Console::Debug(const v8::debug::ConsoleCallArguments& info,                      const v8::debug::ConsoleContext& consoleContext) {  TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8.inspector"), "V8Console::Debug");  ConsoleHelper(info, consoleContext, m_inspector)      .reportCall(ConsoleAPIType::kDebug);}
2.替换为
void V8Console::Debug(const v8::debug::ConsoleCallArguments& info,                      const v8::debug::ConsoleContext& consoleContext) {  //TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8.inspector"), "V8Console::Debug");  //ConsoleHelper(info, consoleContext, m_inspector)  //    .reportCall(ConsoleAPIType::kDebug);}
3.编译
ninja  -C  out/Default chrome

五、在线指纹验证网站:

https://fingerprint.com/products/bot-detection/https://www.browserscan.net/bot-detection

四、关于成品

有能力的小伙伴建议自己把流程全部跑一边,编译个自己的指纹浏览器和驱动。
我已经做了个成品。开发过程全部开源记录在博客中,比较懒不想自己编译的同学可以联系博主买永久版,只想短期用一下的下载免费的10天试用版,功能是一样的哦

下载链接:

10天试用版: https://pan.baidu.com/s/1Gtn2Rgma2VtMPSf-5-lLMg?pwd=um4u

点击全文阅读


本文链接:http://zhangshiyu.com/post/179642.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • (番外)+(全书)爱若有天意,兜转终可回全书+后续+结局(宋清澜萧沉)_爱若有天意,兜转终可回全书+后续+结局列表_笔趣阁(爱若有天意,兜转终可回全书+后续+结局)
  • [繁花盛意难平]小说节选推荐_陆依霜轩辕翊陆青仪节选推荐
  • [纵她追悔,爱已成荒芜]小说精彩节选推荐_「苏萌林澈白月光」小说精彩节选试读
  • [老婆让我别拦着她嫁豪门]小说节选免费试读_[屈英哲韩海雪温文尔雅]精彩章节分享
  • 青梅诱人竹马男主轻点宠(许嘉易顾思瑜)全书浏览_青梅诱人竹马男主轻点宠全书浏览
  • 阮雾梨闻砚辞人面桃花长相忆结局+番外(阮雾梨闻砚辞)_人面桃花长相忆结局+番外阮雾梨闻砚辞列表_笔趣阁(阮雾梨闻砚辞)
  • 人面桃花长相忆闻砚辞结局+番外+续集(阮雾梨闻砚辞)结局_(阮雾梨闻砚辞人面桃花长相忆闻砚辞结局+番外+续集全书结局)结局(阮雾梨闻砚辞)
  • 日暮青山绿渐隐老书虫(许星森纪冰雪)全书浏览_日暮青山绿渐隐老书虫全书浏览
  • 被网暴包女大后,施暴者倾家荡产全文在线阅读_[鹿晓南妹妹张脸]小说节选推荐
  • 日暮青山绿渐隐+全书+番外(许星森纪冰雪)列表_日暮青山绿渐隐+全书+番外(许星森纪冰雪)结局篇+番外在线
  • 梧桐叶落尽,再回来爱你番外+(霍云琛林思雨)列表_梧桐叶落尽,再回来爱你番外+(霍云琛林思雨)梧桐叶落尽,再回来爱你番外+在线
  • 爱恨缠绵,花心愁欲断,顾墨琛虞梵音_爱恨缠绵,花心愁欲断,顾墨琛虞梵音

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1