自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Python爬虫入门:spiderdemo题解及详细思路(简单篇)

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请在公众号联系作者立即删除!入门篇题解,有些朋友做题知其然而不知其所以然,因此我们拆开内容,看题目是怎么反爬的。没有啥加密反爬手段啥的,利用ddddocr即可。没有啥加密反爬手段啥的,利用ddddocr即可。

2025-10-25 21:00:42 252

原创 JS逆向实战|Spiderdemo第二题逆向纯算分析

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!与我们常见的结果(e10......)不一致啊。那应该是有盐或者魔改了。有个sign参数,还有时间戳。那十有八九加密参数与时间戳有关了。考虑到sign长度为32,盲猜为md5摘要算法。现在就看看是否为标准的md5算法了。逆向有AI的加持,似乎事半功倍。发现形参lF确实有加盐的操作。在这个打个断点,证实一下。

2025-10-21 17:27:43 1083

原创 JS逆向实战|Spiderdemo第五题混淆代码详解及纯算

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!接下来就是去控制流了。在使用九大节点合并算法之前,你需要先将代码统一,之前的文章讲过,因为很有规律,你甚至可以在编辑器里直接删除。控制流还原就基本差不多啦,替换后网站可以正常运行。欢迎加入知识星球,学习更多AST和爬。美化一下代码,再进行解密。

2025-10-20 17:00:35 1209

转载 JS逆向神器|AntiDebug_Breaker v1.5更新

本脚本将清除vue router的跳转方法,如果清除后依然会跳转,一方面可能是由于注入的脚本还未清除跳转方法,网站就调用了方法进行跳转,此时可以考虑手动替换js清除跳转方法。本脚本将清除vue router的跳转方法,如果清除后依然会跳转,一方面可能是由于注入的脚本还未清除跳转方法,网站就调用了方法进行跳转,此时可以考虑手动替换js清除跳转方法。本脚本功能同上,如这两个脚本均防止不了js重写log方法,可联系我本人。该脚本用于防止js重写log方法,如本脚本不生效可切换至v0.2脚本。

2025-10-19 21:01:04 1035 1

原创 AST基础知识|括号表达式类型知多少

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!这时候object又被解析成 ParenthesizedExpression 类型了。它就能正常显示为 ParenthesizedExpression 了。即它的父节点: (bb = window)['JSON'];#删除垃圾代码##插件更新#r...欢迎加入知识星球,学习更多AST和爬。结果多了个括号(),很烦人。2.在node代码中如何解析。

2025-10-17 17:01:16 647

原创 AST反混淆实战|新版的5s盾混淆代码还原不了?不存在的。

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!插件拿过来改改就好了。这个插件是遍历的 变量定义,5s盾的节点类型的赋值语句,只需要改改有差异的地方。原来如此,多了个Object类型的花指令。欢迎加入知识星球,学习更多AST和爬。

2025-10-16 17:00:39 973

转载 好库推荐|验证码(缺口)识别项目专题

AntiCAP是一个支持多类型验证码识别的开源项目,包括OCR识别、文字点选、图标点选、数学计算和滑块验证。用户可通过pip安装,支持使用清华源加速下载。API接口包含文档说明,支持Base64图片上传,适用于多种验证码场景,如OCR识别、图标与文字点选验证、滑块匹配等。它通过训练通用的缺口检测模型,能够识别出验证码中的滑块缺口位置,并返回缺口的坐标与可信度。ddddocr是一个基于深度学习的OCR库,专注于双重数字识别,利用CNN和RNN进行特征提取和序列识别,提供高准确率和灵活性。

2025-10-15 16:53:37 493

原创 AST反混淆实战|某爬虫靶场第二题混淆代码还原详解(三)

这个时候,我们发现了一个 for-switch的循环。这种情况下,我们一般去控制流,星球有现成的框架可以使用。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!这里是计算typeof的值,可以手动替换或者编写插件在浏览器上替换。还原到这里就差不多了。欢迎加入知识星球,学习更多AST和爬。1.去控制流前的预处理。

2025-10-14 21:01:09 958

原创 AST反混淆实战|某爬虫靶场第二题混淆代码还原详解(二)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!this.mA,所以你用 binding 没办法定位到变量引用的地方。上述的代码处理后,接下来就是去控制流了。去掉SwitchCase子节点的{}欢迎加入知识星球,学习更多AST和爬。1.变量定义还原与删除。

2025-10-11 10:15:25 1105

原创 AST反混淆实战|某爬虫靶场第二题混淆代码还原详解(一)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!当我们看到这种混淆代码时,首先应该考虑的是优化它的变量名,替换后不报错即可。不能用星球学员专用的那个插件来处理,替换后会报错。替换后,网站依然可以正常运行,说明不影响。代码美化后依旧可以完美替换,nice。欢迎加入知识星球,学习更多AST和爬。代码混乱不堪,都是乱码。

2025-10-10 21:01:12 1396

原创 AST反混淆插件| 逻辑表达式的另类还原

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!如果再研究一下,你会发现,左子节点虽然是一个逻辑表达式,但它的结果恒为true。除了传统的思路,将其变成 if语句,那有没有其他的办法呢?因为它 相当于 A || 1 ===> true。也就是说,右子节点一定会运行。

2025-09-08 20:54:09 810

原创 JS逆向|某平台反混淆练习第一题逆向详解

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!网站已经明确告诉我们四标准的SHA1 + 盐,因此,我们只需要找出这个盐即可。这里有一些 Array操作 + join操作,那最终的加密结果应该是这里的。这里打印了9次,对应 p35 <= 9。既然告诉了有盐,那还得往上找找盐。p35 <= 0,才不会有烦人的提示。但是处理后替换网页直接卡死了。这样我们就最终找到了加密参数生成的地方。加密的结果与网上生成的不一样。调试得知,最后一个字符是 "W",

2025-06-30 20:53:36 1289

原创 AST反混淆实战|类阿卡迈控制流还原详解

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!注意:所有变量的定义已经在循环体外生成了,即函数体的第一行变量定义。代码有了,那就一个位置来保存它们了。我们可以重新定义一个函数,因为这个控制流比较简单,没有if语句,也没有循环结构的代码。接下来就是 初始值为 259的控制流走完后的代码了。这样操作到最后,原始函数是可以直接删除的。注意,这里的形参,需要用它原函数的形参。因此,知道初始值后,可以直接走到最后。

2025-06-23 17:41:28 809

原创 AST反混淆插件| 浏览器环境简化专用插件

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!浏览器环境检测或参与计算。通用型插件,多用于收尾工作。

2025-06-20 12:01:38 461

原创 实用小工具|使用cheerio库提取html内的js混淆代码

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!目前,有很多js内嵌于html文档内,如果使用手动复制的方式,可能导致。因此,写个小脚本来提前html内的所有js片段,似乎很有必要。大家可以用下面这篇文章中的html作为实例操作一遍。根据官方文档提供的知识,很快就可以写出。欢迎加入知识星球,学习更多AST和爬。编码出错或者复制不全的问题。程序员嘛,能偷懒就偷懒。2.cheerio库简介。

2025-06-19 20:22:29 478

原创 AST反混淆实战|猿人学第二届比赛第四题代码片段还原(去控制流)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!2.冗余语句的删除,确保return语句后面只有break语句,也是为了代码统一方便处理。1.代码统一,确保每个case后面都有break语句,发现这里没有break语句.这是一个很 见得的for-switch语句,只比ob混淆的控制流难那么一点点。3.指向下一个case的值要明确,赋值语句的操作符变更。经过上面的统一处理后,再写反混淆代码就轻松多了。没有多余的条件表达式,也不用处理循环语句。

2025-06-18 21:01:11 574

原创 AST反混淆实战|手把手教你还原第三届猿人学比赛第二题混淆js(4)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!通过前面的处理,if已经转换成switch语句了,但是,在使用九大节点合并算法前,还需要一些准备工作。红色框框内的case语句,没有实际的代码,因此可以进行处理。红色框内的代码是ob混淆的特征代码,直接删除,代码就不用压缩替换了。具体的大家可以尝试一下,也可以私下问我。红色框内的代码也是ob混淆的特征代码,直接删除即可。删除没有上级节点的case语句。

2025-06-16 17:50:31 713

原创 AST反混淆实战|手把手教你还原第三届猿人学比赛第二题混淆js(3)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!在将所有能转if语句的节点转成if语句后,接下来就是将if语句转成switch语句了。由于是 for - if 结构的代码很多,这种肯定是控制流。for - switch ===> 去控制流成为正常的代码。因此,需要把一些可以转if语句的节点类型全部转换成if。参考星球里的三篇专门写逻辑表达式的文章。2.条件表达式的还原。3.逻辑表达式的还原。

2025-06-15 21:22:13 566

原创 AST反混淆实战|手把手教你还原第三届猿人学比赛第二题混淆js(2)

上面的代码只是将变量名进行了优化,并没有将代码进行优化处理。下面的代码是通过美化后的代码抠取的mmc,非常的方便,还未验证,不知道是否正确。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!上一篇文章虽然在本地进行了替换,但是调试起来非常的困难,因为它的变量名让人眼花缭乱。我的方案是将难看的变量名统一进行替换,直接使用星球里的脚本即可。欢迎加入知识星球,学习更多AST和爬。

2025-06-09 20:23:46 482

原创 AST反混淆实战|手把手教你还原第三届猿人学比赛第二题混淆js(1)

将 当前<script>标签内的混淆js全部删除,替换成我们处理好的混淆js,注意,它这里有个坑,处理后的代码需要压缩才能运行。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!再次请求后,发现 2 这个选项有点变紫色,右键,选择 红色框内的功能。替换保存后,再次刷新页面,不再报错,说明替换OK。原来是内嵌在主页的html文件内。在这个 2 的选项上面右键,选择。再次刷新页面,发现没有异常。5.替换处理好的js。

2025-06-08 10:44:23 600 1

原创 AST反混淆插件| 浏览器全局对象参与计算反混淆系列插件(三)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!浏览器环境检测或参与计算。通用型插件,多用于收尾工作。

2025-05-26 08:36:11 398

原创 AST反混淆插件| 浏览器全局对象参与计算反混淆系列插件(二)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!浏览器环境检测或参与计算。通用型插件,多用于收尾工作。

2025-05-23 17:40:24 408

原创 AST反混淆插件| 删除一些执行后没有意义的节点

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!通用型插件,多个节点类型,具体参见源码。通用型插件,多用于收尾工作。

2025-05-20 09:00:19 369

原创 AST反混淆插件| 围绕逻辑表达式的垃圾代码删除

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!datadome等大厂字符串解密后的混淆代码。

2025-05-19 09:02:28 396

原创 AST反混淆插件|去控制流的一些简短又必须要用到的方法

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!为了更好的配合九大节点合并算法还原控制流,我们需要写一些额外的方法进行配合,更好的还原控制流。

2025-05-17 09:04:37 628

原创 AST反混淆实战|复杂的逻辑表达式转if语句系列教程(3)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除。目前就剩最顶层的if语句的test节点没有被还原了,可惜的是,它的alternate不为null。咱们接着上次的文章继续讲,经过上次的代码还原后,我们再来分析该如何处理。星球用户可免费查看,无删减。

2025-05-14 19:40:59 464

原创 AST反混淆实战|复杂的逻辑表达式转if语句系列教程(2)

昨天的文章并不能囊括所有逻辑表达式的情形。今天介绍另外一种简单的情况,即当if表达式的alternate子节点都是null的情况。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除。第一个if语句的alternate子节点不是null,不在今天的讨论范围内。星球用户可免费查看,无删减。

2025-05-07 17:33:23 444

原创 AST反混淆实战|复杂的逻辑表达式转if语句系列教程(1)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除。光这种循环,安全人员又觉得不过瘾,搞成了 if 语句。它是一个if语句,它的混淆全部都在if的test节点里面。其实,只要稍微研究一下,各个击破,还是可以进行还原处理的。现在越来越多的混淆代码上了控制流,将自上而下执行的代码通过工具混淆成了。让我们回归本质,既然是逻辑表达式,其操作符无法就是 || 和 &&.各种表达式嵌套让逆向人员 头晕眼花,无从下手,直接放进了回收站。星球用户可免费查看,无删减。

2025-05-06 17:26:51 432

原创 AST反混淆插件|去控制流专题:for-if语句转for-switch语句

因为if语句的复杂性,在去控制流的时候,我们会先将if语句转换成switch语句,再配合九大节点合并算法进行去控制流的操作即可。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除。

2025-04-28 16:45:34 404

原创 AST反混淆插件|表达式语句只包含单个节点时的还原

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!

2025-04-18 21:08:16 476

原创 AST反混淆插件|给逻辑与表达式统一加上小括号

babel库enter方式解析,可能会导致逻辑表达式优先级的问题,而 && 的优先级要大于 ||,因此给所有的逻辑与表达式手动加上小括号,让我们更容易还原嵌套的逻辑表达式。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!

2025-04-17 20:49:51 351

原创 AST反混淆插件|赋值语句中的left节点在其他地方无引用时的删除

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!在做完一些字符串的解密还原后,会留下一些垃圾代码,需要做删除处理。作为收尾工作,需要简单判断下即可。多少变种ob混淆,如datadome等。

2025-04-16 14:44:39 459

原创 AST反混淆插件|将混淆代码中的全局函数提到执行语句的前面来

在ob混淆及其变种里,故意把函数定义丢到最后面恶心人,直接运行,发现函数没有被定义,因此也无法还原。所以写个插件将其提到最前面,不影响代码逻辑。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!

2025-04-15 17:21:25 331

原创 AST反混淆插件|最简单的if语句转switch语句

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!现在的混淆代码越来越多的控制流,有难有易,作为学习的人来说,先易后难,事半功倍。

2025-04-14 11:36:02 389

原创 AST反混淆插件|函数名参与四则运算的还原

在一些比较骚的混淆代码中,会让函数名参与四则运算,这给我们还原加密的字符串带来了一定的阻碍,因此,先将这些比较离谱运算进行还原处理,再还原字符串比较好。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!在某V3混淆代码中比较常见。

2025-04-11 09:46:19 308

原创 JS反混淆实战|ob混淆还原不了?不存在的。

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!就是因为这个是非字符串,导致反混淆的特征检测代码返回了false,因此才没被还原。稳了,这不就是标准的ob混淆嘛,于是拿出大杀器进行还原处理。不过没关系,我们对照在线网站进行调试,动态获取AA的值即可。对于这种问题,我尝试本地读取整个混淆代码的源码,用来替换。写个插件,将AA的值全部替换,并将大数组的值进行相应的更改。没有外部变量,唯一一个window对象,问题不大。这样,就拿到了AA的值,

2025-04-10 17:14:10 435

原创 AST反混淆插件|纯函数的调用还原,兼容多个函数调用方式

混淆代码一般会把字符串或者数值等字面量隐藏在函数中,有些是纯函数,有些是非纯函数。将其还原成字面量,方面我们后续处理。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!

2025-04-09 16:56:33 377

原创 AST反混淆插件|单个 ArrayExpression 嵌套在 MemberExpression 类型里的混淆还原

nb][0](1,2)的 函数调用,它其实是多此一举,所以,需要写个方法将其简化,以便进行字符串的解密和替换。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!在某里V3的混淆代码中,可以看到形如。

2025-04-08 20:20:18 251

原创 AST反混淆插件|判断函数调用实参是否均为字面量的方法

由于path.isliteral() 和 types.isliteral() 的功能比较弱,因此,我自己写了个方法,专门来判断 当前。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!函数调用的实参是否均为字面量。代码认为 123,-456,[],{},[{}],都是字面量。无,属于通用型的插件。

2025-03-26 08:56:49 367

原创 AST反混淆插件|无实参调用表达式且callee子节点是FunctionExpression类型的混淆代码还原

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!FunctionExpression时的还原处理。当一个函数的调用表达式,callee子节点为。

2025-03-25 10:41:00 335

空空如也

空空如也

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

TA关注的人

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