自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微信小程序强制开启F12开发者工具

WeChatOpenDevTool是一款强大的微信小程序开发者工具,它能够强制开启PC端微信小程序和内置浏览器的F12开发者模式。这款工具由开源社区的@志远大佬精心打造,并在GitHub上提供了完整的代码实现。尽管我们只是简单地将原代码中的node部分用python3进行了重写,但已经成功地解决了许多自动化问题。请放心使用,重要代码均来源于原作者。

2025-03-27 11:52:47 6994 4

原创 Python中使用execjs报错‘gbk‘ codec can‘t encode character ‘\xa0‘

摘要:本文解决了Python使用PyExecJS时出现的GBK编码错误问题。报错原因是subprocess.py默认使用系统编码导致Unicode字符处理异常。提供了两种解决方案:1) 在外部环境运行时,通过修改subprocess.Popen的默认编码为UTF-8;2) 在本地环境运行时,直接修改subprocess.py文件编码设置。文中包含详细代码示例和操作截图,并附有参考链接。两种方法均可有效解决该编码错误问题。

2025-10-20 20:53:13 379

原创 爬虫学习篇:Scrapy框架认识和使用

Scrapy是Python生态中成熟的异步爬虫框架,采用模块化组件设计,核心组件包括引擎(调度中心)、调度器(URL管理)、下载器(获取网页)、爬虫(解析数据)和项目管道(数据处理)。框架通过下载中间件和爬虫中间件提供扩展能力,工作流程为引擎驱动的7步闭环循环:从爬虫起始URL开始,经过调度、下载、解析,再到新URL或数据存储的循环处理,直至任务完成。Scrapy的高效异步机制和灵活架构使其成为爬虫工程师必备技能和面试高频考点。

2025-09-15 08:00:00 990

原创 爬虫学习计划

2025-09-14 22:06:24 944

原创 爬虫学习篇:代理、描述符与补环境难点

本文介绍了JavaScript中代理(Proxy)和反射(Reflect)的概念,以及属性描述符(Object.defineProperty)的用法。重点讲解了补环境时的几个难点:1) form表单检测的处理方法;2) location对象的特殊检测;3) navigator插件的复杂检测逻辑;4) 代理检测中的this指向问题;5) document.all的特殊性及其解决方案。最后对比了call、apply、bind三种方法改变this指向的区别。

2025-09-12 18:27:42 1200

原创 爬虫学习篇:jsvmp插桩思路与补环境(yrx15、yrx-15-jsvmp)

本文介绍了逆向目标yrx15和yrx-15-jsvmp的实现流程。通过hook时间和随机数确保参数一致性,使用插桩技术定位JSVMP加密位置,并补充缺失环境解决执行异常问题。重点包括:1)通过XHR断点找到加密位置;2)在JSVMP关键位置插桩获取明文信息;3)解决环境缺失导致的代码未执行/未发起请求等问题;4)通过浏览器本地联调确保参数一致性。最终实现了本地生成参数与浏览器参数一致的目标。

2025-09-12 11:02:44 1213

原创 爬虫学习篇:补环境实战猿人学(yrx-13cookie)

摘要 本文介绍了JavaScript逆向工程中的几个关键技术点:1) 使用Hook脚本捕获cookie设置过程,定位关键代码位置;2) 通过Chrome远程调试Node.js程序的方法和命令;3) 补环境时的常见问题及解决方案。重点分析了cookie生成不一致的问题,指出需要对比本地与浏览器环境差异,特别关注yrx_$T初始化问题。文章提供了实用的调试技巧和问题排查思路,对JavaScript逆向工程实践具有指导意义。

2025-09-10 21:45:47 1002

原创 爬虫TLS指纹校验原理与绕过(Just a moment...)

本文介绍了TLS指纹校验的原理及绕过方法。TLS指纹通过分析TLS握手时的特征(如加密套件、协议版本等)识别设备类型,常见于反爬虫机制。文章详细解析了ja3指纹的组成,并提供了三种Python绕过方案:使用curl_cffi模拟浏览器指纹、requests-go自定义ja3指纹,以及修改requests的TLS配置(不推荐)。测试网站为例,展示了具体实现代码。这些方法可有效应对网站对TLS指纹的校验,解决爬虫被403拦截的问题。

2025-09-09 16:12:40 1548

原创 Python中出现InsecureRequestWarning警告如何忽略?

摘要:Python使用requests包发起请求时若设置verify=False参数,控制台会输出安全警告干扰日志查看。解决方法是在代码文件头部添加两行代码:先导入urllib3模块,然后调用urllib3.disable_warnings()方法禁用InsecureRequestWarning警告,即可消除控制台的不必要警告信息。

2025-09-08 12:16:54 350

原创 极验4:滑块拼图验证(全网最详细逆向分析)

本文分析了某验证码系统的接口请求流程及参数逆向过程。主要内容包括:验证码请求接口分析、验证接口参数分析。关键技术点:使用随机字符串生成函数,RSA和AES加密算法应用,参数校验机制。该分析仅供学习交流,严禁用于商业或非法用途。

2025-08-27 19:27:39 2164

原创 JavaScript原型和原型链

JavaScript 的核心机制原型和原型链是实现面向对象继承的关键。每个对象(除 null 外)都有一个原型对象作为模板,通过 __proto__ 属性访问,而函数对象特有的 prototype 属性指向其实例的原型。原型链由对象通过 __proto__ 连接形成,属性查找会沿链向上直至 Object.prototype(终点为 null)。通过将子类原型指向父类实例(而非直接共享父类原型)可实现继承,避免污染父类。原型链机制使 JavaScript 无需类也能实现继承,是理解面向对象编程的基础。

2025-08-14 20:17:34 1315

原创 JavaScript的面向对象和原型初识

JavaScript面向对象编程(OOP)通过对象封装数据和方法,基于原型链实现继承。核心概念包括:对象(键值对集合)、原型(通过__proto__共享属性和方法)、类(ES6语法糖)、继承(extends关键字)、封装(私有属性#)、多态(方法重写)。JavaScript的OOP具有灵活性(支持原型和类)、动态性(可随时修改对象)、基于原型的特性。无论是直接操作对象、使用原型还是类语法,核心目标都是实现代码的封装和复用,使代码更易维护和扩展。

2025-08-14 19:32:30 792

原创 JavaScript的事件

本文介绍了JavaScript事件的核心概念:1)事件是与页面元素约定的用户行为触发机制;2)事件绑定三要素包括事件源、类型和处理函数;3)常见事件类型如鼠标、键盘、表单事件;4)事件对象包含触发时的详细信息,如坐标或按键编码;5)事件传播分为捕获、目标和冒泡三个阶段,可通过stopPropagation()阻止;6)利用事件冒泡实现事件委托,将子元素事件委托给父元素处理。文章通过代码示例演示了事件绑定、传播控制和委托实现。

2025-08-11 17:15:17 888

原创 JavaScript的DOM基本操作(下)

本文介绍了JavaScript中DOM的基本操作方法,包括节点操作和获取元素尺寸。节点操作部分详细讲解了创建节点(createElement)、插入节点(appendChild/insertBefore)、删除节点(removeChild/remove)、替换节点(replaceChild)和克隆节点(cloneNode)的语法及使用示例。获取元素尺寸部分简要说明了如何通过相关属性获取元素的各种尺寸信息。文章配有代码示例和效果图,适合初学者快速掌握DOM基本操作。

2025-08-11 11:11:39 1202

原创 JavaScript的DOM基本操作(上)

本文介绍了JavaScript中DOM的基本操作方法。主要内容包括:1) 获取元素的5种方式:通过id获取单个元素(getElementById)、通过类名获取元素集合(getElementsByClassName)、通过标签名获取元素集合(getElementsByTagName)、通过选择器获取单个元素(querySelector)和获取所有匹配元素(querySelectorAll);2) 操作元素内容的两种方法:innerText用于操作纯文本内容,innerHTML可操作包含HTML标签的内容等。

2025-08-10 15:46:13 1070

原创 某标准网站CSS精灵图/雪碧图(Sprite)还原

本文介绍了CSS精灵图还原技术及其实现方法。精灵图是一种将多个小图像合并到大图中的Web优化技术,通过background-position定位显示特定部分。文章详细解析了还原精灵图的核心原理:1)获取原始精灵图文件;2)通过CSS定位信息提取每个小图的坐标;3)根据页面源码中的类名和样式确定图块尺寸和位置。作者提供了完整的还原流程,包括定位信息提取、图块截取和坐标拼接等关键技术步骤,并附有Python实现代码示例

2025-08-05 11:32:58 1162

原创 JavaScript的定时器

avaScript定时器主要有两种类型:setInterval(间隔定时器)和setTimeout(延时定时器)。setInterval会按照指定周期重复执行代码,而setTimeout会在固定时间后执行一次代码。定时器会返回一个全局递增的ID,用于后续清除操作。清除定时器可以使用clearInterval或clearTimeout,两者可以混用。定时器ID是页面内所有脚本创建的定时器共同使用的计数器,其数值表示当前已创建的定时器数量。文章通过代码示例演示了定时器的创建、使用和清除方法,并配有相关流程图解。

2025-08-01 19:30:01 961

原创 JavaScript常见的BOM操作

本文介绍了JavaScript中常见的BOM(浏览器对象模型)操作,主要包括:1)获取浏览器窗口尺寸的方法;2)三种浏览器弹出层(提示框、询问框、输入框)的使用;3)标签页的开启和关闭操作;4)浏览器常见事件监听;5)历史记录的前进后退操作;6)获取页面滚动位置的方法;7)控制页面滚动的两种方式。文章通过代码示例和截图详细说明了各功能的实现方法,并提供了视频参考链接。BOM操作是前端开发中与浏览器交互的重要技术,掌握这些基本操作能有效提升网页交互体验。

2025-08-01 16:44:39 1186

原创 JavaScript数组数据类型

本文介绍了JavaScript数组数据类型的基本操作,包括数组创建、长度操作、数据访问和遍历方法。通过代码示例展示了如何创建数组、获取/设置数组长度、访问/修改数组元素,以及使用for循环遍历数组。

2025-07-31 16:43:51 581

原创 JavaScript对象数据类型

本文介绍了JavaScript对象数据类型的操作方式。主要内容包括:1)创建对象的基本语法;2)对象键值对的增删改查操作。

2025-07-30 22:06:35 393

原创 JavaScript的作用域

JavaScript作用域详解:本文介绍了JavaScript中的作用域概念,通过图示展示了四个作用域的范围和层级关系。文章包含定义、访问和赋值三个示例:1)变量根据声明位置归属不同作用域;2)访问变量时按"由内向外"原则查找;3)赋值时优先修改当前作用域变量,找不到则向上查找直至全局。

2025-07-30 21:34:03 581

原创 JavaScript的递归函数

本文介绍了JavaScript中递归函数的原理与应用,通过两个典型案例展示递归的实现方式:1)计算正整数n的阶乘,通过n*(n-1)!的递推关系实现;2)求解斐波那契数列第n位,利用前两位之和的递推公式。两个案例均设置了明确的递归终止条件,演示了如何正确构建递归函数。递归是函数调用自身并设置终止条件的编程技巧,能有效解决具有递推特性的数学问题。

2025-07-29 22:18:55 451

原创 超详细!某道翻译纯算逆向

本文详细分析了某道翻译接口的逆向过程。首先通过抓包锁定目标接口,发现返回值为加密数据。随后定位到关键参数sign和mysticTime的生成位置,分析得出sign为字符串拼接后的MD5值,mysticTime为时间戳。在解密环节,通过断点调试找到AES-CBC加密的响应数据,使用标准库成功还原解密算法。文章提供了完整的Python实现代码,包括参数生成和响应解密两个关键步骤,并展示了最终运行效果。整个过程展示了从接口分析到算法还原的完整逆向思路,对类似接口的逆向具有参考价值。

2025-07-29 10:48:30 2600

原创 JavaScript的函数

本文介绍了JavaScript函数的基础知识,包括语法结构、参数传递和返回值机制。主要内容有:1) 函数定义与调用语法,区分形参和实参;2) 两个基础示例展示无参和有参函数的使用;3) 阶乘计算案例演示函数封装和返回值应用;4) 关键点总结:函数是JS数据类型、调用执行机制、形参实参关系及return返回值作用。文章配有代码示例和运行结果截图,适合初学者理解函数的基本概念和使用方法。

2025-07-28 21:50:58 507

原创 JavaScript循环结构语句-for

本文介绍了JavaScript中的for循环语句。内容包括:1) for循环的基本语法结构,由初始化变量、条件判断和变量更新三部分组成;2) 通过实例演示了for循环的执行过程和输出结果;3) 提供了一个实际案例,展示如何利用for循环在1-100之间找出所有3的倍数;4) 说明了for循环可以生成有规律的数字序列。文章还提供了while和do-while循环的参考链接,帮助读者全面理解循环结构。适合JavaScript初学者学习循环控制语句的使用方法。

2025-07-28 14:12:32 589

原创 JavaScript循环结构语句-dowhile

本文介绍了JavaScript中的do-while循环结构。do-while循环先执行代码块再判断条件,与while循环的区别在于:当初始条件不满足时,do-while至少会执行一次。文章通过"走石板路"的示例对比了两种循环的执行差异,并提供了一个"浏览器回答问题"的实际应用案例。最后给出了相关参考链接,帮助读者进一步学习循环结构。

2025-07-27 23:47:59 392

原创 JavaScript循环结构语句-while

JavaScript中的while循环结构通过初始变量、条件判断和改变初始值来控制循环执行。其基本形式为:定义初始变量→while(条件)→执行代码→改变初始值。使用时需注意:1)必须改变初始值避免死循环;2)循环可生成规律数字序列;3)通过控制起始值、条件和步长可调整循环次数。文中以10的阶乘计算为例,演示了while循环的实际应用,展示了如何通过递减初始值实现阶乘运算。关键点在于正确处理循环三要素(起始、条件、步长)以确保程序正确执行。

2025-07-27 13:54:04 386

原创 JavaScript条件分支语句-switch

本文介绍了JavaScript中switch条件分支语句的基本结构和用法。switch语句通过case选项进行完全匹配,使用default处理无匹配情况,并利用break控制执行流程。文章通过鞋码选择示例演示了基本用法和穿透效果,以及一个计算一年中第几天的实际案例。该案例巧妙利用switch穿透特性累加月份天数,并处理闰年情况,最后输出总天数。switch语句适合处理多条件分支场景,合理使用可以简化代码逻辑。

2025-07-27 11:42:40 1642

原创 JavaScript条件分支语句-if

本文介绍了JavaScript中的if条件分支语句及其用法。

2025-07-26 22:54:02 289

原创 JavaScript的运算符

本文系统介绍了JavaScript中的各类运算符,包括算数运算符、赋值运算符、比较运算符、逻辑运算符以及自增自减运算符。重点讲解了不同类型运算符的使用场景和运算规则,并通过代码示例详细说明了各运算符的具体用法和差异,特别是字符串与数字运算的转换规则、相等与全等的区别、前置与后置自增自减的运算顺序等关键知识点,为JavaScript基础学习提供了实用参考。

2025-07-26 18:53:01 827

原创 JavaScript数据类型转换

JavaScript数据类型转换的三种情况及用法

2025-07-25 21:06:58 234

原创 JavaScript的基本数据类型

本文介绍了JavaScript的4种基本数据类型:1) 数值类型(number)包含整数、浮点数及不同进制表示;2) 字符串类型(string)使用单/双引号定义;3) 布尔类型(boolean)仅含true/false;4) 空类型(null/undefined)表示空值或无值;并通过typeof运算符可检测数据类型

2025-07-25 12:11:33 293

原创 超详细!国家医保服务平台逆向webpack

本文分析了医保局网站的数据加密接口,通过逆向工程揭示了请求和响应数据的加密机制。研究发现接口采用SM4加密方式,请求参数和响应数据均被加密处理。作者详细展示了定位加密位置、还原webpack模块、导出加密函数等关键步骤,提供了请求加密和解密的示例代码。

2025-07-05 23:16:07 1099

原创 MySQL数据库CRUD、常用函数及应用实例(基础篇一)

本文介绍了SQL四大基本操作CRUD(增删改查)的核心语法和使用方法

2025-06-24 17:11:04 982 1

原创 Celery的基础使用和常见问题解决办法,看这一篇就够了!

Celery的基础使用和常见问题解决办法,看这一篇就够了!

2025-04-03 17:08:30 812 1

原创 Python实现JWT加解密

JWT(JSON Web Tokens)是一种用于在网络应用环境间安全地传输信息的简洁的、URL安全的令牌标准。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

2025-01-15 22:39:00 1715

空空如也

空空如也

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

TA关注的人

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