自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(183)
  • 收藏
  • 关注

原创 spiderdemo 2-混淆

​网址:aHR0cHM6Ly9zcGlkZXJkZW1vLmNuL29iL29iX2NoYWxsZW5nZTEvP2NoYWxsZW5nZV90eXBlPW9iX2NoYWxsZW5nZTE=接口:定位就非常好定位然后进入md5函数,这里已经确认过加了盐找到盐值即可但是这样写会有一个问题​这是一个非常经典的问题。导致结果不一致的原因不是“盐值”错了,而是**字符编码(Encoding)**的问题。

2025-12-25 17:01:29 159

原创 gesp 20259月编程部分

两种促销方案,那么就算一下每种促销方案所花费的总价格,然后去比较求出最小值即可。从金字塔的第一层开始算,一直向上累加。

2025-10-15 08:50:26 152

原创 信号量机制与进程同步

这种情况下,除了表示资源数目的value之外,还有一个进程链表指针list,用于链接上述的所包含的两个数据项可以描述为wait申请那么这里有一个问题,如果让wait中的S->value<0改为可以吗?

2025-10-09 15:57:57 241

原创 猿人学17--天杀的http2.0

但是这样请求是会请求不到的,因为requests只支持http1.1,这道题必须使用http2去请求,换成httpx即可,注意安装2.0的库。

2025-09-27 20:31:57 163

原创 wasm | 猿人学20题

首先说明一下wasm是一个什么东西?WebAssembly(简称Wasm)是一种在现代网络上实现高性能、可移植代码的二进制指令格式。它是一种低级的、类似于汇编语言的格式,但被设计为可移植的,可以在多种环境中运行,而不仅仅是浏览器。

2025-09-05 13:34:03 723

原创 记录一次点点数据的rpa调用

关于这个项目我有一些疑问点,先放到前面进行解释,对基础知识点的总结,后面是实际操作。

2025-09-02 03:59:41 1123

原创 今天记录一下如何使用代理ip

第一次算是自己购买的ip,记录一下自己的操作流程首先,需要自己找到一家ip代理服务商,然后直接去购买ip就行,这里先说明一下隧道代理ip和私密ip以及海外独享ip都有什么区别。

2025-09-01 11:55:09 667

原创 o = o.then(m.shift(), m.shift() 代码段在js中的执行过程,以及异步调用

里通常会装的函数类型(比如 axios 的 request/response 拦截器)?就被一点点清空,同时构造出了一个链式 Promise 调用。,依次把成功/失败回调函数注册进去。里,会用这种写法把多个中间处理函数串起来。必须传两个参数(成功回调、失败回调)。那现在他们把一堆回调函数放在。就是用来存这些回调函数的。在拦截器里是怎么起作用的?取出的一对函数,会注册到。就相当于动态构造了一个。要不要我帮你还原一下。

2025-08-27 13:08:36 589

原创 JavaScript中call,apply的区别,作用

o.apply(this,arguments)什么意思呢?相当于o这个方法,执行一个o,o相当于一个方法,这个方法的参数是arguments比如说,r.apply(e,t)翻译过来就是给e这个对象传进去一个方法,然后使用r方法做一个事情,也就是执行一个函数,这个函数的参数就是t。

2025-08-24 22:21:27 428

原创 极验demo(float)(二)

上一次跟到位置,这次来还原ww=i+r那么第一步先计算ii在这里被返回。

2025-08-24 22:15:47 291

原创 最近 | 黄淮教务 | 小工具合集

视频总结使用视频提取接口+yt-dlp(下载视频)+ffmpeg(CLI)(转音频wav)最后使用阿里云的语音识别模型做了一个语音提取文字的接口,然后交由deepseek去生成ai总结网站的话刚搭起来,使用django做后端,docker部署,做的类似于一个工具类型的聚合,其中还有很多缺陷,不过现在当以提升逆向水平为主。

2025-08-22 21:54:16 468

原创 极验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 386

原创 webpack

不是同一个变量,只是名字一样(eWebpack 打包后的函数会大量用e这种短变量名,调试时容易混淆。改名或在断点里手动展开作用域,就能看出区别。我可以帮你在这段 webpack 引导代码里全局替换变量名,这样你调试的时候就不会被e覆盖了,要帮你改成可读性高的版本吗?这样你能直接看出来每一层的模块 ID。

2025-08-16 21:10:16 916

原创 bilibili视频总结

所以整个流程就跑通了,整体不难,尤其是网站,本来以为是一个webpack就一步一步来扣了,没想到就是个单纯的md5,其实刚开始也试着跑了一下,数据给错了,一对照发现不对,以为是魔改的md5或者加载了其他的参数,但是其实后来也就是一个md5,但是干就干呗,整个流程是不难的,视频的话自己逆向一个接口,或者直接去bili拿视频就行,转音频,用py库就行,下载 视频用yt-dlp库,视频转音频用ffmpeg库,然后音频识别的话用的阿里云的语音识别模块。好了,整体是没什么难度,到这里就结束了。

2025-08-16 21:06:34 398

原创 await,async,.then,promise这些关于异步的关键词之间是怎么联系的

当 Promise 完成(fulfilled)时的回调,也可以注册失败(rejected)的回调。我帮你按关系、执行顺序、语法糖的角度系统讲一下,你看完就能完全串起来。这样你以后看异步逻辑就像读顺序代码一样轻松。,直到 Promise 完成,然后把结果赋给变量。,把这几个概念用一个流程图全串起来,你一看就懂。林林,这几个关键词其实是一个体系的,只是。,用来描述“一个值在未来才会可用”。,即使你没有显式写 Promise。林林,如果你愿意,我可以帮你画一张。用在函数前面,让这个函数。

2025-08-13 18:10:10 481

原创 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 467

原创 JavaScript中的this调用

JavaScript 中thisthis指向的是调用当前函数的对象,而不是定义它的位置或“上一个函数”。

2025-08-06 09:28:18 834

原创 get和post的请求在request里的应用与区别

今天遇到了一些问题,算是搞懂了get和post请求在request里的区别,用错了就请求不到,这里把总结的ai回答发一下,作为笔记params=data=json=

2025-07-31 13:11:45 790

原创 javascript函数中的异步操作

的函数(可能是一个自定义函数,用于发起网络请求),并传递了一个包含请求 URL、请求方法和请求数据的对象。会暂停当前异步函数的执行,直到等待的异步操作完成(即 Promise 对象被解决或拒绝)。是一个关键字,它用于等待一个异步操作(如网络请求)完成。函数完成其异步操作(例如,直到 HTTP 请求得到响应)。:如果等待的异步操作成功完成(Promise被解决),:如果异步操作失败(即Promise被拒绝),关键字时,这个函数就变成了一个异步函数(函数中,因此它可以正常工作。),在这个函数内部可以使用。

2025-07-29 11:31:50 351 1

原创 记录一下今天对学校教务系统登录请求分析的几个问题

你今天请求太频繁,系统把你降级为“本地临时会话”,所以只给了JSESSIONID没有就无法通过后台认证,自然拿不到数据。清空缓存、重新登录即可恢复。是的,核心原因正是「浏览器自动携带了你在 Python 里没拿到的 Cookie」,导致 Python 请求失败,而浏览器能正常访问。

2025-07-24 15:54:22 804

原创 基于三次贝塞尔曲线生成鼠标滑动轨迹

三次贝塞尔曲线由以下公式定义:( P_0 ):起点( P_3 ):终点( P_1, P_2 ):两个控制点,决定曲线的弯曲程度和形状( t \in [0, 1] ):参数,表示从起点到终点的进度这段代码用三次贝塞尔曲线生成一条非线性、类人化的滑动轨迹,从而让滑块拖动行为更自然,绕过反爬虫检测。

2025-07-21 16:56:20 731

原创 识别并计算滑块距离

这段代码通过图像识别找到滑块验证码的缺口位置,并计算出滑块需要移动多少像素才能拼合成功。

2025-07-21 16:45:07 374

原创 javascript匿名函数(RSA加密方法的导出)

把L这个构造函数(即JSEncrypt)作为模块导出,挂到上,供外部使用。

2025-07-15 18:09:28 338

原创 javascript自执行函数

自执行函数(Immediately Invoked Function Expression, IIFE)是JavaScript中一种常见的设计模式,它定义后会立即执行,不需要显式调用。这种模式在现代JavaScript开发中有着广泛的应用,特别是在模块化编程和防止全局污染方面。

2025-07-14 19:15:54 493

原创 初识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 1416

原创 使用drissionpage提取不到元素内容的情况

元素对象 vs 文本节点DrissionPage的API设计基于元素操作,而非XPath原生节点[citation:6]。.text属性的作用自动处理元素内所有文本节点的合并输出,而/text()只能获取直接文本节点(可能被DrissionPage忽略)[citation:7]。兼容性建议优先使用元素定位+.text,或通过获取原始文本[citation:8]。

2025-07-04 08:25:14 626

原创 Drissionpage的基础使用

然后这里使用xpath进行提取,使用eles方法获取列表。Drissionpage是一款自动化处理浏览器的工具。这样的话就可以指定浏览器打开百度访问。实现翻5次页获取信息。

2025-07-03 12:29:51 330

原创 二维数组,结构体,递归,多关键字排序,高精度,动态数组

可以根据这一篇文章作为递归的入门。

2025-07-02 15:37:06 247

原创 spring MVC 至 springboot的发展流程,配置文件变化

Spring MVC 是 Spring 框架中的一个重要模块,用于构建基于 Java 的 Web 应用程序。它基于 ​​MVC(Model-View-Controller)设计模式​​,提供了灵活、可配置的方式来开发动态网页或 RESTful 服务。

2025-05-16 08:51:17 1211 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 1434

原创 河南省第十五届ICPC大学生程序设计竞赛

可以看一下规律,每5个数据,会多一个2,然后剩下的就是等差数列的前n项和。但是如果不加上这个去重,那么就会超时,说明重复数据还是很多的……暴力列出所有条件,直接二分即可,时间复杂度控制在1e8以内。这里sort或者不sort都能过,而且时间上是差不多的。那么这不就相当于取巧了,看看有没有别的优化方法。

2025-05-02 10:35:36 649

原创 2025年PTA天梯赛正式赛 | 算法竞赛,题目详解

第一题就不说了,直接打印即可。

2025-04-25 16:34:34 676

原创 爬虫备忘录(已更新)

xpath是一种用于在xml文档中定位节点的语言,它可以用于从xml文档中提取数据,以及在xml文档中进行搜索和过滤操作,xpath使用路径表达式来描述节点的位置,这里第一个参数写目标文件下载链接,第二个就是你的path路径,比如要下载一个图片,那么就是图片路径+保存的文件夹路径+文件名,文件读写,如果想表达——若文件存在,就直接使用,若不存在就创建,可以这样写,避免会报一些很sb的文件不存在的错误。如果要使用正则来匹配数据的话,需要对响应回来的response进行匹配,要事先写好自己的pattern。

2025-04-21 20:40:08 943

原创 天梯赛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 985

原创 linux最好不要以root用户执行pip

和部分系统服务依赖特定版本的 Python 包。• 依赖解析混乱(出现 “Cannot uninstall X” 错误):除非你明确知道自己在做什么,否则永远不要用。• 关键服务崩溃(例如日志服务、监控工具):不干扰系统环境,无需 root 权限。:版本经过系统验证,与系统其他组件兼容。如果安装的包包含恶意代码(如通过。),会直接以 root 权限执行。安装的包可能与系统包管理器(如。,所有用户均可调用。• 系统更新时出现不可预测的错误。:完全隔离,可自由控制依赖版本。root 安装的包会默认写入。

2025-04-09 21:34:10 692

原创 天梯赛练习题L1-19,20,9

划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。

2025-04-07 21:50:28 745

原创 某某通的接口分析记录(js逆向)

请求接口的载荷本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

2025-03-30 10:50:44 1081

原创 音乐webpack(通杀webpack-1)

在i处下一个断点,刷新进去,看一下该逻辑的参数,发现最后o(t.data)函数返回值被i接收。然后把vendor.chunk.ab的代码也复制下来,加载器大概两百多行,这个两万多行,调用的是n(350),然后返回的值为i,下面直接传给sign,所以说要找的就是i。但是不知道为什么一直请求不到了,是因为search_id的问题吗?看一下载荷,第一个是时间戳,第二个是sign,是我们接下来的目标。单步进入加载器,直接把整个加载器抠出来。刷新一下,这是我们要逆向的接口。是能正常构造出来的,然后写一下py的请求。

2025-03-25 15:31:38 542 2

原创 scrapy_yield详解

在for循环执行时,每次循环都会执行fab函数内部的代码,执行到yield b时,fab函数就返回一个迭代值,下次迭代时,代码从 yield b 的下一条语句继续执行,而函数的本地变量看起来和上次中断执行前是完全一样的,于是函数继续执行,直到再次遇到 yield。yield 的作用就是把一个函数变成一个生成器(generator),带有yield的函数不再是一个普通函数,Python解释器会将其视为一个generator,单独调用(如fab(5))不会执行fab函数,而是返回一个 iterable 对象!

2025-03-23 11:36:46 1110 1

原创 py中的迭代器与生成器有什么区别

•迭代器:更底层,适合需要完全控制迭代逻辑的场景。•生成器:更简洁高效,适合处理大数据流或异步任务。•核心公式生成器 = 迭代器 + 惰性计算 +yield语法掌握二者区别后,可以更灵活地选择工具优化代码性能和内存管理。

2025-03-23 11:35:35 536

Screenshot_20250910_125540.jpg

Screenshot_20250910_125540.jpg

2025-09-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除