news 2026/7/4 22:03:59

cdp(Chrome DevTools Protocol)检测分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
cdp(Chrome DevTools Protocol)检测分析

如需转载请注明出处.欢迎小伙伴一起讨论技术.

逆向网站:aHR0cHM6Ly93d3cuYnJvd3NlcnNjYW4ubmV0L2JvdC1kZXRlY3Rpb24=

首先,打开devtools后访问网址,检测结果网页显示红色Robot,标签插入位置,确定断点位置可以hook该方法,也可以使用插件等方式找到这个位置,本篇不讨论.

Robot标签是通过insertBefore插入的.

再往上追栈可以发现一个32长度数组,里面存在的都是标签

再往上追栈找到32位数组产生的地方,会发现Eo的函数

再追进Eo函数,是由ge产生,ge里面传的参数又是个函数名称是个下划线,这个位置被反复调用感觉比较难调试,分别进ge函数和下划线函数看看

进ge函数后,再跟进几个函数会发现en这个函数,会发现数组构建模版

进入下滑线函数会发现三木表达式i(d)如果是真就创建normal标签,如果是假就创建robot标签

到这里其实是比较明确了的,就看i(d),i比较不重要,就是个判断,主要看d的值为什么是个false;

接着分析d,往上找可以找到d = S(!0),进入S函数,再进一两层简单函数,S(!0)就是new了一个hp类

d要false,那么我们就在set的地方打一个条件断点,看什么时候设置的false,一番调试后发现,其实就在初始化下面一些代码,这里绕了远路不用点断点去找的

这里关键就看这个qe为什么是个true了,导致执行了后面的d.value=!1,进入qe函数分析下

首先定义了一个Error对象,重写了get方法,只要被调用那么变量e就会赋值true,最终返回的就是true,这里是使用console.debug调用的这个函数,只要devtools打开,控制台也就打开,这是debug函数就会生效.

接下来就是过检测,修改chromium浏览器源码,把console.debug函数的定义里面的内容注释,那么即使是定义的Error对象重写了get方法,执行debug函数的时候也不会被调用get方法,最终也就不会被检测到devtools打开

最后放一张修改后的chromium浏览器达到过检测的效果,直接置空debug,log等函数,在添加自己的logv函数打印日志;

总结:

第一次看这个网站,在逆向过程中也并不是很顺利

该网站存在大量的混淆,函数全部重使用简单别名,es6的语法下,大量使用import和export关键字进行重命名干扰变量的追踪,使用&符号进行流程控制,导致走错了很多分支;

js中有log等日志输出的函数被置空,在没有自己的函数l日志输出方法logv之前,直接在脚本开始之前保存号log函数,这样日志断点也是可以正常使用

回过头来其实可以直接搜索normal关键字直接找到关键的三木表达式,在逆向过程中其实是有搜索robot的,只是没有找到有用的信息,恰好三木表达式简写了robot"a(i(d) ? e.$t("webdriver.normal") : e.$t("webdriver.bot"))"并且它还有个webdriver,干扰了判断,以为是检测webdriver的.还是得多搜索几次碰碰运气没准就有了.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 22:03:29

Twitter API PHP 项目推荐

Twitter API PHP 项目推荐 【免费下载链接】twitter-api-php The simplest PHP Wrapper for Twitter API v1.1 calls 项目地址: https://gitcode.com/gh_mirrors/tw/twitter-api-php 1. 项目基础介绍和主要编程语言 Twitter API PHP 是一个简单易用的 PHP 封装库&#…

作者头像 李华
网站建设 2026/7/4 22:03:18

AtomCode插件推荐与自定义配置分享:打造个人专属AI编码环境

文章目录每日一句正能量一、前言:你的IDE,应该像你的指纹一样独特二、Skills插件推荐:让AI成为你的专属助手2.1 Skills插件是什么?2.2 热门Skills插件推荐矩阵**Tier 1:必装插件(高影响力,低学习…

作者头像 李华
网站建设 2026/7/4 22:01:44

释放硬盘空间的智能助手:Krokiet重复文件清理工具全面指南

释放硬盘空间的智能助手:Krokiet重复文件清理工具全面指南 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 你是否曾因硬盘空间不足而烦…

作者头像 李华
网站建设 2026/7/4 22:01:10

招聘时间插件:让每个求职机会都拥有清晰的时间坐标

招聘时间插件:让每个求职机会都拥有清晰的时间坐标 【免费下载链接】boss-show-time 展示boss直聘岗位的发布时间 项目地址: https://gitcode.com/GitHub_Trending/bo/boss-show-time 你是否曾在海量招聘信息中迷失方向,分不清哪些是新鲜出炉的机…

作者头像 李华
网站建设 2026/7/4 21:56:33

YOLOv4 网络结构实战:基于PyTorch 1.12 复现SPP与PANet模块

YOLOv4网络结构实战:基于PyTorch 1.12复现SPP与PANet模块在目标检测领域,YOLOv4凭借其出色的性能和效率成为工业界和学术界的宠儿。本文将聚焦于YOLOv4的两个核心组件——SPP(空间金字塔池化)和PANet(路径聚合网络&…

作者头像 李华
网站建设 2026/7/4 21:55:22

AutoUnipus:3分钟搞定U校园网课答题的终极指南

AutoUnipus:3分钟搞定U校园网课答题的终极指南 【免费下载链接】AutoUnipus U校园脚本,支持全自动答题,百分百正确 2024最新版 项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipus 还在为U校园平台枯燥的网课任务消耗宝贵时间而烦恼吗?Auto…

作者头像 李华