- 博客(189)
- 收藏
- 关注
原创 html4和html5
H5具有双重含义:技术层面指HTML5标准,提供丰富的网页功能(如多媒体支持、图形动画、本地存储等);应用层面指在中国互联网环境中特指的移动端营销页面,具有跨平台、轻量级、社交传播等特点。HTML5之所以能实现这些特性,主要得益于其原生支持多媒体、移动设备API和CSS3动画,克服了HTML4依赖插件、功能受限等缺陷。移动互联网的兴起与HTML5技术的成熟共同推动了H5页面的流行。
2026-02-19 13:52:54
578
原创 旅行网站控制台检测
使用动态生成函数并执行,造成无限debugger中断。检测开发者工具是否打开(例如通过窗口尺寸差异、console访问频率等)。使用递归函数持续检测,防止被简单绕过。// 类似处理 setInterval, setTimeout, eval原理:将修改后的全局函数设置为不可配置()和不可写(),防止后续脚本通过重新赋值或delete操作恢复原函数。优点:增强了绕过的稳定性。局限。
2026-02-18 19:01:48
954
原创 spiderdemo-T8字体反扒
打乱拿到映射文件这里是不一样的md,我还没太理解,ai就给我跑出来了🎯 字体反爬完整破解流程总结让我为你详细总结整个破解过程,从0到1完整分析:📖 一、反爬机制原理1.1 网站的工作流程用户访问页面↓浏览器加载 HTML + CSS + JavaScript↓JavaScript 发送 AJAX 请求到 API↓API 返回两个关键数据:① page_data: [“3184”, “9980”, “2437”, …] ← 混淆的随机数字。
2026-01-20 12:12:26
1336
原创 spiderdemo T4 基本wasm
首先会跳转,我一开始不知道怎么解决这个跳转但是可以在跳转前一瞬间打开view-source:去查看源代码:然后找到加载代码,丢给ai分析一通,给了个大致流程:逆向流程分析// 关键加密参数;// 请求参数url +=;关键点:verifyString 格式: {challenge_type}page{page}encrypt_simple() - WASM导出的加密函数get_timestamp() - WASM导出的时间戳函数。
2026-01-17 11:46:23
946
原创 反控制台,函数,反调试
有效性:这种方法在应对初级和中级分析时非常有效,尤其是时间差检测,是目前前端反调试的常用手段。局限性误判率:在性能极差的旧设备或低端手机上,即使不开启调试器,渲染 1000 条数据也可能超过 10ms,导致普通用户无法访问。对抗性:高级开发者可以通过禁用、在页面加载前注入屏蔽脚本、或者使用非标准的调试手段(如远程调试协议)来绕过。
2026-01-16 20:46:44
334
1
原创 spiderdemo 2-混淆
网址:aHR0cHM6Ly9zcGlkZXJkZW1vLmNuL29iL29iX2NoYWxsZW5nZTEvP2NoYWxsZW5nZV90eXBlPW9iX2NoYWxsZW5nZTE=接口:定位就非常好定位然后进入md5函数,这里已经确认过加了盐找到盐值即可但是这样写会有一个问题这是一个非常经典的问题。导致结果不一致的原因不是“盐值”错了,而是**字符编码(Encoding)**的问题。
2025-12-25 17:01:29
369
原创 gesp 20259月编程部分
两种促销方案,那么就算一下每种促销方案所花费的总价格,然后去比较求出最小值即可。从金字塔的第一层开始算,一直向上累加。
2025-10-15 08:50:26
182
原创 信号量机制与进程同步
这种情况下,除了表示资源数目的value之外,还有一个进程链表指针list,用于链接上述的所包含的两个数据项可以描述为wait申请那么这里有一个问题,如果让wait中的S->value<0改为可以吗?
2025-10-09 15:57:57
267
原创 猿人学17--天杀的http2.0
但是这样请求是会请求不到的,因为requests只支持http1.1,这道题必须使用http2去请求,换成httpx即可,注意安装2.0的库。
2025-09-27 20:31:57
183
原创 wasm | 猿人学20题
首先说明一下wasm是一个什么东西?WebAssembly(简称Wasm)是一种在现代网络上实现高性能、可移植代码的二进制指令格式。它是一种低级的、类似于汇编语言的格式,但被设计为可移植的,可以在多种环境中运行,而不仅仅是浏览器。
2025-09-05 13:34:03
782
原创 今天记录一下如何使用代理ip
第一次算是自己购买的ip,记录一下自己的操作流程首先,需要自己找到一家ip代理服务商,然后直接去购买ip就行,这里先说明一下隧道代理ip和私密ip以及海外独享ip都有什么区别。
2025-09-01 11:55:09
699
原创 o = o.then(m.shift(), m.shift() 代码段在js中的执行过程,以及异步调用
里通常会装的函数类型(比如 axios 的 request/response 拦截器)?就被一点点清空,同时构造出了一个链式 Promise 调用。,依次把成功/失败回调函数注册进去。里,会用这种写法把多个中间处理函数串起来。必须传两个参数(成功回调、失败回调)。那现在他们把一堆回调函数放在。就是用来存这些回调函数的。在拦截器里是怎么起作用的?取出的一对函数,会注册到。就相当于动态构造了一个。要不要我帮你还原一下。
2025-08-27 13:08:36
620
原创 JavaScript中call,apply的区别,作用
o.apply(this,arguments)什么意思呢?相当于o这个方法,执行一个o,o相当于一个方法,这个方法的参数是arguments比如说,r.apply(e,t)翻译过来就是给e这个对象传进去一个方法,然后使用r方法做一个事情,也就是执行一个函数,这个函数的参数就是t。
2025-08-24 22:21:27
450
原创 最近 | 黄淮教务 | 小工具合集
视频总结使用视频提取接口+yt-dlp(下载视频)+ffmpeg(CLI)(转音频wav)最后使用阿里云的语音识别模型做了一个语音提取文字的接口,然后交由deepseek去生成ai总结网站的话刚搭起来,使用django做后端,docker部署,做的类似于一个工具类型的聚合,其中还有很多缺陷,不过现在当以提升逆向水平为主。
2025-08-22 21:54:16
486
原创 极验demo(float)(一)
启动器第一个函数跟到这里,启动器第一个函数加载appendchild(),推测加载了一个东西。t[n]是一个this传进来的,换汤不换药,继续跟到这里,看上一个调用栈。进le,随便下一个断点,进行刷新,script值肯定是在这里生成。断到这里看t,t是这个方法的参数,那么返回上一个调用栈,t[n]看到this,找上一个函数调用,上一个函数调用new了一个le。这里其实是一个循环,直接继续刷新即可,找到生成w的一次。由上一个调用栈的e返回,那么继续看,这个e是怎么来了。观察接口,第一个w,轨迹值。
2025-08-22 21:33:19
402
原创 webpack
不是同一个变量,只是名字一样(eWebpack 打包后的函数会大量用e这种短变量名,调试时容易混淆。改名或在断点里手动展开作用域,就能看出区别。我可以帮你在这段 webpack 引导代码里全局替换变量名,这样你调试的时候就不会被e覆盖了,要帮你改成可读性高的版本吗?这样你能直接看出来每一层的模块 ID。
2025-08-16 21:10:16
940
原创 bilibili视频总结
所以整个流程就跑通了,整体不难,尤其是网站,本来以为是一个webpack就一步一步来扣了,没想到就是个单纯的md5,其实刚开始也试着跑了一下,数据给错了,一对照发现不对,以为是魔改的md5或者加载了其他的参数,但是其实后来也就是一个md5,但是干就干呗,整个流程是不难的,视频的话自己逆向一个接口,或者直接去bili拿视频就行,转音频,用py库就行,下载 视频用yt-dlp库,视频转音频用ffmpeg库,然后音频识别的话用的阿里云的语音识别模块。好了,整体是没什么难度,到这里就结束了。
2025-08-16 21:06:34
452
原创 await,async,.then,promise这些关于异步的关键词之间是怎么联系的
当 Promise 完成(fulfilled)时的回调,也可以注册失败(rejected)的回调。我帮你按关系、执行顺序、语法糖的角度系统讲一下,你看完就能完全串起来。这样你以后看异步逻辑就像读顺序代码一样轻松。,直到 Promise 完成,然后把结果赋给变量。,把这几个概念用一个流程图全串起来,你一看就懂。林林,这几个关键词其实是一个体系的,只是。,用来描述“一个值在未来才会可用”。,即使你没有显式写 Promise。林林,如果你愿意,我可以帮你画一张。用在函数前面,让这个函数。
2025-08-13 18:10:10
518
原创 javascript中的异步调用
假设 cN() 是同步返回 “abc123”,那 Promise.resolve 会立刻变成一个 resolved 状态的 Promise,事件循环到微任务阶段时,这个 function(n) 会被执行,n 就是 “abc123”。这个返回值会成为 .then 链中下一个 Promise 的 resolve 值,也就是说 beforeSend 最终返回的,是一个 Promise,resolve 时包含带有 “Anti-Content”: n 头的请求配置。2. 如果cN是同步的,那么会直接得到返回值。
2025-08-13 17:55:18
488
原创 get和post的请求在request里的应用与区别
今天遇到了一些问题,算是搞懂了get和post请求在request里的区别,用错了就请求不到,这里把总结的ai回答发一下,作为笔记params=data=json=
2025-07-31 13:11:45
817
原创 javascript函数中的异步操作
的函数(可能是一个自定义函数,用于发起网络请求),并传递了一个包含请求 URL、请求方法和请求数据的对象。会暂停当前异步函数的执行,直到等待的异步操作完成(即 Promise 对象被解决或拒绝)。是一个关键字,它用于等待一个异步操作(如网络请求)完成。函数完成其异步操作(例如,直到 HTTP 请求得到响应)。:如果等待的异步操作成功完成(Promise被解决),:如果异步操作失败(即Promise被拒绝),关键字时,这个函数就变成了一个异步函数(函数中,因此它可以正常工作。),在这个函数内部可以使用。
2025-07-29 11:31:50
385
1
原创 记录一下今天对学校教务系统登录请求分析的几个问题
你今天请求太频繁,系统把你降级为“本地临时会话”,所以只给了JSESSIONID没有就无法通过后台认证,自然拿不到数据。清空缓存、重新登录即可恢复。是的,核心原因正是「浏览器自动携带了你在 Python 里没拿到的 Cookie」,导致 Python 请求失败,而浏览器能正常访问。
2025-07-24 15:54:22
893
原创 基于三次贝塞尔曲线生成鼠标滑动轨迹
三次贝塞尔曲线由以下公式定义:( P_0 ):起点( P_3 ):终点( P_1, P_2 ):两个控制点,决定曲线的弯曲程度和形状( t \in [0, 1] ):参数,表示从起点到终点的进度这段代码用三次贝塞尔曲线生成一条非线性、类人化的滑动轨迹,从而让滑块拖动行为更自然,绕过反爬虫检测。
2025-07-21 16:56:20
879
原创 javascript自执行函数
自执行函数(Immediately Invoked Function Expression, IIFE)是JavaScript中一种常见的设计模式,它定义后会立即执行,不需要显式调用。这种模式在现代JavaScript开发中有着广泛的应用,特别是在模块化编程和防止全局污染方面。
2025-07-14 19:15:54
553
原创 初识cdp协议(一)
CDP协议(Chrome DevTools Protocol)是一个用于调试和控制Chromium浏览器(如Chrome、Edge和Opera)的协议。通过CDP,开发者可以直接与浏览器交互,进行网络流量的检查、调试和监听。DP的功能非常强大,Chrome开发者工具的许多功能都是基于CDP接口实现的。开发者可以使用CDP来控制浏览器的各个方面,包括监视网络请求、操作DOM等。此比外,Node.js库Puppeteer完整实现了CDP协议,为Chrome内核的通信提供了便利。
2025-07-07 21:46:01
1600
原创 使用drissionpage提取不到元素内容的情况
元素对象 vs 文本节点DrissionPage的API设计基于元素操作,而非XPath原生节点[citation:6]。.text属性的作用自动处理元素内所有文本节点的合并输出,而/text()只能获取直接文本节点(可能被DrissionPage忽略)[citation:7]。兼容性建议优先使用元素定位+.text,或通过获取原始文本[citation:8]。
2025-07-04 08:25:14
694
原创 Drissionpage的基础使用
然后这里使用xpath进行提取,使用eles方法获取列表。Drissionpage是一款自动化处理浏览器的工具。这样的话就可以指定浏览器打开百度访问。实现翻5次页获取信息。
2025-07-03 12:29:51
406
原创 spring MVC 至 springboot的发展流程,配置文件变化
Spring MVC 是 Spring 框架中的一个重要模块,用于构建基于 Java 的 Web 应用程序。它基于 MVC(Model-View-Controller)设计模式,提供了灵活、可配置的方式来开发动态网页或 RESTful 服务。
2025-05-16 08:51:17
1267
1
原创 使用nvm在windows下管理多个node版本(附安装教程)
为什么需要多个版本?安装多个版本有什么好处?常规方式安装node.js一台电脑只能安装一个,例如之前项目安装的node.js版本是v12,而我们现在的新项目需要依赖node.js---->v13,此时安装v13后,之前的v12将被覆盖,而且之前的项目不支持v12的运行,我们如果想运行之前的项目就需要卸载高版本的v13,重新下载v12版本十分麻烦!所以就有了nvm :node管理工具。
2025-05-16 08:49:05
1519
原创 河南省第十五届ICPC大学生程序设计竞赛
可以看一下规律,每5个数据,会多一个2,然后剩下的就是等差数列的前n项和。但是如果不加上这个去重,那么就会超时,说明重复数据还是很多的……暴力列出所有条件,直接二分即可,时间复杂度控制在1e8以内。这里sort或者不sort都能过,而且时间上是差不多的。那么这不就相当于取巧了,看看有没有别的优化方法。
2025-05-02 10:35:36
689
原创 爬虫备忘录(已更新)
xpath是一种用于在xml文档中定位节点的语言,它可以用于从xml文档中提取数据,以及在xml文档中进行搜索和过滤操作,xpath使用路径表达式来描述节点的位置,这里第一个参数写目标文件下载链接,第二个就是你的path路径,比如要下载一个图片,那么就是图片路径+保存的文件夹路径+文件名,文件读写,如果想表达——若文件存在,就直接使用,若不存在就创建,可以这样写,避免会报一些很sb的文件不存在的错误。如果要使用正则来匹配数据的话,需要对响应回来的response进行匹配,要事先写好自己的pattern。
2025-04-21 20:40:08
977
原创 天梯赛L1-22-25
(1 ≤ D ≤ 7),表示星期几(1=星期一,2=星期二,…,7=星期日),计算并输出“后天”对应的星期数。在一行中输出奇数的个数和偶数的个数,中间用。个正整数,统计其中奇数和偶数各有多少个。• 星期是循环的,7 天后又回到星期一。• “后天” = 今天 + 2 天。是为了让星期一从 0 开始计算,• 一行字符串,仅包含英文字母。的后天对应的星期数(1~7)。:先加 1 天(“明天”)。:调整到 1~7 的范围。恢复 1~7 的编号)• 因此,可以直接用。• 一行字符串,包含。,否则输出计算结果。
2025-04-15 23:20:24
1010
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅