- 博客(46)
- 收藏
- 关注
原创 Python基础-高级特性
本文介绍了Python中的三种推导式高级特性:列表推导式、字典推导式和集合推导式。列表推导式通过简洁语法实现循环和条件筛选,可替代传统循环方式且性能更优;字典推导式支持键值映射转换,能高效处理字典数据;集合推导式则擅长去重操作。推导式不仅能简化代码,还能提高程序执行效率,是Python编程中提升代码质量的重要工具。文章通过具体示例展示了各种推导式的应用场景和优势。
2025-09-17 16:04:36
742
原创 python基础-文件操作详解
Python文件操作详解 本文介绍了Python中文件操作的基础知识,主要包括: 文件类型:文本文件(如.txt、.py)和二进制文件(如.jpg、.mp3) 基本操作流程:打开文件(open())→操作文件(read/write)→关闭文件(close()) 文件模式:r(只读)、w(写入)、a(追加)等常用模式及其组合 编码处理:演示了UTF-8和GBK编码文件的读写操作 读取方法:read()读取全部内容、read(size)读取指定大小、readline()逐行读取、readlines()读取为列表
2025-09-08 08:53:42
647
原创 python基础-Python异常处理
Python异常处理是编写健壮程序的关键技术。文章介绍了异常的基本概念,展示了SyntaxError、NameError等10种常见异常类型及其示例代码,并通过ExceptionHierarchyDemo类详细解析了Python异常层次结构,包括BaseException、Exception等基类及其子类关系。文章还通过实例演示了异常继承关系,帮助开发者理解如何捕获和处理不同类型异常。这些内容为Python开发者提供了全面的异常处理知识框架。
2025-09-05 09:01:43
896
原创 python基础-面向对象编程(OOP)
面向对象编程(OOP)摘要 面向对象编程(OOP)是一种以"对象"为核心的编程范式,Python支持其三大核心特性:封装(隐藏数据实现)、继承(代码复用与扩展)和多态(统一接口灵活调用)。 类与对象:类是对象的模板,对象是类的实例。通过class定义类,__init__方法初始化实例,实例变量存储对象独有数据,类变量共享全局属性。例如,Person类包含姓名、年龄等实例变量,以及共享的species类变量。 类变量与实例变量:类变量(如BankAccount.bank_name)被所有实
2025-08-26 15:36:41
301
原创 Python基础-函数与模块
Python函数是组织代码的基本单元,通过模块实现更高层次的代码组织。函数定义使用def关键字,支持参数传递(位置参数、默认参数、可变参数*args)、返回值和文档字符串。最佳实践包括遵循单一职责原则、合理设计参数、避免可变默认参数陷阱。代码组织结构从语句→函数→模块→包→项目层层递进,形成完整的应用架构。示例展示了基础函数定义、文档编写、参数类型使用等核心概念,并提供了良好设计示范与常见错误避免建议。
2025-08-19 09:33:29
646
原创 Python基础-控制结构
Python控制结构:条件与循环语句摘要 本文介绍了Python中的控制结构,包括条件语句和循环语句。条件语句(if/elif/else)允许程序根据不同条件执行不同代码块,支持嵌套判断和三元运算符。最佳实践包括使用in操作符、避免深层嵌套等。循环语句包括for循环和while循环,可遍历序列(range()函数)、获取索引(enumerate())或并行遍历多个序列(zip())。文章提供了丰富的代码示例,如成绩等级判断、乘法表打印等,展示了控制结构的实际应用。这些结构共同构成了程序执行流程的基础。
2025-08-18 15:45:52
421
原创 Python基础-数据结构
Python提供了四种主要数据结构:列表(可变有序序列)、元组(不可变有序序列)、字典(键值对映射)和集合(可变无序唯一元素)。本文详细介绍了列表和元组的使用方法,包括创建、访问、修改(列表)、删除(列表)等操作,并展示了各种内置方法和高级技巧。列表使用方括号[],支持增删改查;元组使用圆括号(),创建后不可修改,常用于数据保护和解包操作。两种数据结构都支持索引、切片和多种内置方法,是Python编程中最基础且重要的数据结构。
2025-08-15 15:23:26
1102
原创 Python基础-Python基本语法
本文介绍了Python编程基础中的几个核心概念。首先讲解了注释的使用方法,包括单行注释(#)和多行注释(三引号),强调了良好的注释规范。其次详细说明了标识符的命名规则和Python关键字,介绍了PEP 8命名约定。然后重点讲解了Python的主要数据类型:整数、浮点数、字符串、布尔值和空值(None),并展示了各类型的使用示例。最后说明了变量的动态特性,即变量可以改变类型的特点。这些基础知识是学习Python编程的重要前提。
2025-08-14 09:01:29
351
原创 Python基础-Python简介
Python是一种高级、解释型、通用的编程语言,由Guido van Rossum于1991年发布。它具有简洁易读的语法、跨平台兼容性和丰富的标准库,广泛应用于Web开发、数据科学、人工智能等领域。Python环境配置简单,支持虚拟环境管理,可通过pip安装数十万个第三方库。其核心优势包括平缓的学习曲线、活跃的社区和良好的就业前景,是初学者和专业开发者的理想选择。
2025-08-13 09:06:48
631
原创 魔改编译-抽离chromium整个网络模块突破tls指纹
这里本质上是把整个浏览器的请求都抽出来。然后用python去请求进行调用。当然这个这是一个测试的作用。还达不到大规模请求。只是模拟更加真实的指纹而已。
2025-08-01 08:00:00
296
原创 魔改编译-chromium编译tls指纹
本文介绍了JA4指纹的概念及其在网络识别中的应用。JA4指纹通过对TLS握手信息(如客户端版本、加密套件、扩展字段等)的分析生成唯一标识,相比传统IP/MAC地址更难以伪造。文章重点讲解了如何通过修改Chromium源码实现随机化JA4指纹:在SSL客户端套接字实现中添加随机数生成器,动态调整加密套件命令,从而在每次刷新时生成不同的指纹。这种方法可用于网络安全研究,帮助理解指纹识别技术并探索反检测方案。文末展示了修改后浏览器生成不同指纹的实例效果。
2025-07-16 08:00:00
804
原创 魔改编译-永久解决selenium痕迹(二)
你是否在用 Selenium 抓数据却频频被识破?本篇文章深入解析浏览器反爬机制中的 WebDriver 检测原理,手把手教你如何绕过识别陷阱,还原真实用户行为,助你轻松避开反爬封锁,提升自动化脚本稳定性!
2025-07-09 08:00:00
1058
原创 魔改编译-永久解决selenium痕迹(一)
你是否在用 Selenium 抓数据却频频被识破?本篇文章深入解析浏览器反爬机制中的 WebDriver 检测原理,手把手教你如何绕过识别陷阱,还原真实用户行为,助你轻松避开反爬封锁,提升自动化脚本稳定性!
2025-07-04 08:00:00
461
原创 浏览器魔改-从根本上通杀所有的无限debugger
本文介绍了如何通过修改Chromium V8引擎源代码来禁用JavaScript的debugger关键字功能。主要步骤包括:定位keywords-gen.h文件中的debugger映射,将其改为Token::kFalseLiteral使其失效;同时添加强制匹配逻辑,确保所有debugger都被解析为false值。修改后重新编译的浏览器将完全忽略JavaScript中的debugger语句,从而绕过无限调试器陷阱。该方法从底层实现通杀效果,适用于Chromium系浏览器调试场景。修改后的代码和成品浏览器可通过
2025-06-24 08:00:00
496
原创 空间推理类验证码训练(1)-1
摘要:本文介绍了基于YOLO模型的空间推理验证码训练方法,重点探讨了数据标注流程。作者通过labelImg工具对验证码图片中的几何体(圆柱、圆锥等)和字母进行分类标注,生成YOLO格式的标签文件。针对样本量不足的问题,提出先识别物体再结合OCR处理字符的优化思路。文章详细展示了数据标注步骤、标签文件解读方法,并指出后续将使用YOLOv10进行模型训练。完整代码和其他内容可通过文末链接获取。(149字)
2025-06-16 08:00:00
1471
原创 JS逆向-JavaScript AST反混淆完全指南
《JavaScript AST反混淆完全指南》:当你的代码被混淆得像天书一样难懂,别慌!这篇文章就像一把"代码翻译器",教你如何把那些看起来像外星文的JavaScript代码变回人类能看懂的样子。从基础的混淆概念,到高级的AST操作技巧,再到实战案例,让你从"这是什么鬼"变成"原来如此"!不管你是想保护自己的代码,还是想破解别人的代码(当然是合法的),这篇文章都能让你成为代码界的"福尔摩斯"!
2025-05-21 08:30:00
2020
原创 JA3和JA4在Python爬虫中的阻碍及解决办法
TLS指纹技术是当代反爬虫的核心技术之一,但通过深入理解其原理和采用多层防护策略,开发者可以构建更健壮、更难被检测的爬虫系统。TLS(Transport Layer Security)和SSL(Secure Sockets Layer)是密码学协议,为网络通信提供安全性。:客户端向服务器发送支持的TLS版本、加密套件列表、随机数、会话ID和扩展信息。Version:TLS版本(如12=TLS 1.2,13=TLS 1.3):服务器响应选择的TLS版本、加密套件、会话ID和自己的随机数。
2025-05-09 08:30:00
1737
原创 AI智能化数据抓取与结构化解析指南
本文详细介绍了从基础的HTTP请求与HTML解析,到使用AutoScraper和规则学习实现自适应抓取,再到基于LLM和WebAgent的智能化解析系统的完整技术栈。基础抓取技术:掌握requests和lxml等基础库是网络抓取的基石。处理动态内容:对于JavaScript渲染的网页,Selenium和是处理动态内容的有效工具。自适应抓取:通过等工具实现基于样例的自适应抓取,无需手动编写解析规则。智能化解析:利用模式识别、规则学习和大型语言模型来处理不规则网站,实现真正意义上的智能抓取。稳健性策略。
2025-05-07 08:30:00
1220
原创 python基础-requests结合AI实现自动化数据抓取
Requests 是一个基于 封装的 Python HTTP 客户端库,提供了极其简洁且人性化的接口,使得发送 HTTP 请求和处理响应变得轻而易举。它支持常见的 HTTP 方法(GET、POST、PUT、DELETE 等)、会话保持、文件上传、代理、超时控制、认证等功能,被广泛应用于网页抓取、API 调用和自动化测试等场景。本指南从基础概念出发,逐步深入到高级应用场景,适合各层次开发者阅读。
2025-04-25 18:00:00
1167
原创 粉丝提问系列-多层加密的响应体如何破除?
我们先看一下我们需要分析的接口。!](https://i-blog.csdnimg.cn/direct/7e9b1efbc9b749db8bf0c0b5308557e3.png)响应的内容我们可以看到响应内容是加密的,这个就是我们今天的主角。我们其实可以看到这里有一堆堆栈,我从上往下看,这里其实一眼过去就有一个xhr这个方法很可疑,因为他表示的是JavaScript浏览中的请求对象实例常用的一个名称,我们在这里打个断点。我们点击一下翻页我们就可以看到断点已经停下来了。这表明我们打的断点在本次执行的代码过程
2025-04-18 08:00:00
1226
3
原创 一文带你了解并发编程:线程、进程与协程
特性多线程多进程协程适用任务类型IO 密集型CPU 密集型IO 密集型资源消耗中等高低数据共享直接共享需特殊机制直接共享并行执行受 GIL 限制真正并行单线程内并发开发复杂度中等中等较高(需理解异步)切换开销中等高极低。
2025-04-10 08:00:00
1852
原创 深入浅出 Python 面向对象编程
封装(Encapsulation):将数据和操作数据的方法放在一起,形成紧密耦合的模块。这样一来,数据不易被随意修改,有助于构建稳健的系统架构。继承(Inheritance):使我们可以基于一个现有类(父类)扩展出新的类(子类),有效地重用代码。继承不仅能够复用已有代码,还能够以更自然的方式描述现实世界中的层次关系。多态(Polymorphism):允许不同类的对象对同一方法调用产生各自不同的行为,降低代码的耦合度,提高灵活性和扩展性。在 Python 中,类是构建对象的模板。
2025-04-09 08:00:00
1002
原创 js逆向-喜某拉雅Xm-Sign参数解密
(注意,由于其中很多变量名都是一样的,所以在复制的时候需要对其进行对应的区分,这里很容易出错)这里面的代码不需要完全看懂,最后只需要复制该代码进行调用即可。该url的请求头中有个加密的参数,找到该参数的加密过程。的值相差不多,猜测估计是服务器上的时间戳,就先不用管了。的值是replace,那么就是将前面拼接的字符串中符合。在该函数的第一行打断点,让程序运行到该断点处。的值为undefined,故最后返回的是。单步调试,看看每个变量的值是什么。,这就是一个字符串的拼接,涉及到了。的值为random,故。
2025-04-05 08:00:00
1428
1
原创 js逆向-某古加响应数解密逻辑
提示未定义,其实它就是常用的crypto-js库,只要在前面定义一下即可。JAVASCRIPT 复制 全屏。把代码抠出来,运行一下。python代码还原一下。跟页面回显的数据一致。
2025-03-27 08:30:00
2599
原创 js逆向实战之莫莫铺子sign参数解密
url: 莫莫铺子福利站!抓取流量包。 主要关注图中框起来这条流量包,因为这条流量包返回的是当前页面数据。 该流量包的url地址有个加密的参数,目的就是找到参数的加密过程。按照常规思路会去搜索url中的关键词,但找到对应的地方不能很好的定位到参数,所以需要换一种思路。我们直接搜索关键字,有很多条记录,需要稍微筛选一下。只有两条数据符合我们的要求。先试,打断点。 输出一下。 发现输出是个原生代码,所以此处不是我们要的,可以排除。找到另一条符合要求的记录,打断点。刷新界面,触发该断点,查看每一个
2025-03-21 08:00:00
1229
原创 js逆向-某某牛数据请求参数加密和返回数据解密
上面三个函数的代码可以不用看,直接调用js代码就可以了。5. 写python代码,将加密逻辑和解密逻辑进行融合。成功,接下来就是编写python代码获取数据了。涉及到一个变量和三个函数,一个一个看。,是因为在转换为大写之前需要先用。4. 目前的js代码如下。,去找一下补到代码中。:控制台输出,定位。:控制台输出,定位。:控制台输出,定位。跟页面上显示的对应。
2025-03-18 16:59:31
1490
原创 js逆向-某博博返回数据解密
在上面有定义,是通过一个固定字符串计算SHA1值之后截取前32位得到,是一个固定值。想要跳过这个debugger模式,可以在debugger这行代码的前面右键,选择。由于还是寻找响应数据的解密过程,经过前面两篇文章,立马去搜索。这个方法行不通,只能搜索url关键字了,只有一条记录。定位到该函数,上下文看看,就看到了加密和解密的地方。,它的响应数据是加密字符串,需要找到其的解密过程。是老朋友了,AES算法,主要需要找到。,在解密的地方打断点,刷新界面。,但是很遗憾,这里没有。是需要解密的字符串,
2025-03-12 08:00:00
1286
原创 JavaScript逆向-七麦数据实战
1.在ES6中,Promise对象是用来解决回调地狱(callback hell)问题的。回调地狱发生的原因是,当我们有多个异步操作时,每个操作的回调函数都嵌套在前一个操作的回调中,导致代码层级过深,难以阅读和维护。
2025-03-07 19:00:00
2862
原创 js逆向-某某威客signature参数解密
该函数本质上就是生成一个随机字符串并截取字符串中的第3位到第8位,既然是个随机函数,所以该值取什么无所谓。有两处,第二处是个固定值不需要看,关注点在第一处。点进去看对应的代码,并打断点,重新登录,触发该断点。上图中显示的key和iv都是字节,想要看到字符串类型的话可以采用toString函数。参数明显是被加密过的,接下来就是去寻找加密的过程。一切加密过程都知道了,把相关代码复制,完整代码如下。变量,第三个键值对中的值是个定值。是个字典,第一个键值对中的值就是。变量,第二个键值对中的值就是。
2025-03-04 09:19:18
1680
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅