- 博客(541)
- 收藏
- 关注
原创 AST反混淆插件|去控制流前if语句转三目表达式
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!通用型插件,去控制流前的准备工作.工具做的一些准备工作。
2025-12-18 10:12:42
342
原创 AST反混淆插件|去控制流前对运算符的简化操作
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!通用型插件,去控制流前的准备工作.工具做的一些准备工作。
2025-12-17 21:04:24
385
转载 AST反混淆技术:从混乱代码到清晰逻辑的解码之道
随着混淆技术的演进,反混淆方法也在不断发展,这场猫鼠游戏推动了程序分析领域的整体进步。AST反混淆正是破解这层迷雾的关键技术,它通过解析和重构代码的抽象语法树,将被混淆的代码恢复为可读、可理解的形态。AST是源代码语法结构的树状表示,它剥离了代码中的具体字符和格式细节,只保留逻辑骨架。它教会我们,真正坚固的代码保护不应仅依赖技术混淆,而应构建在法律、架构和持续创新的多维防御体系中.将处理后的AST重新生成为可读的JavaScript代码,通常通过Babel的generator或类似工具完成。
2025-12-11 20:05:31
28
转载 移动安全之以逆向角度管中窥豹海外风控机制
同时假如真的误判了真实用户,那就走。要彻底的随机不被识别,就要想一下,真人操作的话,每个步骤,会在哪一个地方停留,又会在哪一个地方非常快速,这些都是一些不确定的因素,而且海外的社交平台,尤其是注册流程,都有好几个分支,点了不同的按钮,都会打乱注册行为轨迹的,真人的话肯定会按自己的想法来回点击,所以常规的操作,如果是一个正常人,多操作几次,每次的行为都是不重复的,而爬虫程序的操作流程非常的固定,因为咱们写的都是定向爬虫,目标非常明确,啥时候点哪里,啥时候走哪里,最后都是达到我们想要的达到的,这也是。
2025-12-06 10:01:44
438
原创 AST反混淆实战|reese84_jsvmp反编译前的优化处理
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!因为window不是字面量,并且在node下面是未定义的,因此是没办法直接得出值的。CallExpression,而且,它仅仅只是作为实参,因此没有被之前的插件处理。这第一步是类似的,因此又回到了第一步的处理。这里的形式参数A,其实是没有用的。拿去在线网站上进行解析,发现它被解析成了。处理后,发现,仍然有地方没有被处理,如。这样的拆解,大家更容易理解。
2025-12-05 10:00:21
337
原创 AST反混淆实战|多种方法解决混淆js中奇形怪状的变量名
1.上面的版本暴力一些,会将所有的非ASCII码的字符id名重命名,而学员专用版只处理了变量定义和函数定义。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!它的变量全部是反混淆成了单个字符。也还算可以吧,比之前的好,不报错就行。也是一些奇怪的字符,像数字一样。有很多在线的反混淆网站可以进行变量的优化,如webcrack,2.上面的版本替换的字符是随机的,学员专用版则是有一定的规律。打开后,关掉其他的混淆功能,仅保留。
2025-12-04 16:03:06
384
原创 AST反混淆插件| (变量的)赋值语句处在该变量所有引用后面时的删除。
在还原一些字面量后,会剩下很多赋值语句。因为一个变量被反复赋值,使用binding.constant是无法进行处理的。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!通用型插件,多用于删减代码工作.
2025-12-03 13:49:51
213
原创 AST反混淆插件|变量(赋值后)在作用域内无引用时的删除。
在还原一些字面量后,会剩下很多赋值语句。因为一个变量被反复赋值,使用binding.constant是无法进行处理的。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!通用型插件,多用于删减代码工作.
2025-12-02 20:49:45
229
转载 Python爬虫进阶:spiderdemo困难题JSVMP-T6题解
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请在公众号联系作者立即删除!解码后是一个数组,我们在日志搜索数组,可以看到经过一系列运算后,变成了css中缺失的一组数组。可以看到先用时间戳拼接了一个字符串,然后base64了一下,最后再用RSA加密。
2025-11-27 19:28:22
46
1
原创 AST反混淆插件| 函数定义中的params参数还原
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!有些混淆代码会将形式参数赋值给其他的变量做间接引用处理,不如直接引用的方便。通用型插件,多用于删减代码工作。
2025-11-25 20:04:48
379
原创 AST反混淆插件| 嵌套在if语句Test节点里的逻辑表达式还原(三)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!if语句里包含大量逻辑表达式时的还原。
2025-11-19 09:00:45
196
原创 AST反混淆插件| 嵌套在if语句Test节点里的逻辑表达式还原(二)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!if语句里包含大量逻辑表达式时的还原。
2025-11-18 09:53:00
273
原创 AST反混淆插件| 嵌套在if语句Test节点里的逻辑表达式还原(一)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!if语句里包含大量逻辑表达式时的还原。
2025-11-17 21:18:58
302
原创 JS逆向实战|AST反混淆 + AI纯算系列文章(一)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!这段代码是AST反混淆后的代码,也是加密的核心函数。但是呢,能用工具解决的,尽量不要用手,主打一个懒。当然还可以继续手动删掉一下环境检测相关的代码。比之前改写的纯算要好太多了。欢迎加入知识星球,学习更多AST和爬。如有侵权,请联系作者立即删除!
2025-11-12 17:30:35
370
转载 Python爬虫入门:spiderdemo题解及详细思路(简单篇)
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请在公众号联系作者立即删除!入门篇题解,有些朋友做题知其然而不知其所以然,因此我们拆开内容,看题目是怎么反爬的。没有啥加密反爬手段啥的,利用ddddocr即可。没有啥加密反爬手段啥的,利用ddddocr即可。
2025-10-25 21:00:42
330
原创 JS逆向实战|Spiderdemo第二题逆向纯算分析
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!与我们常见的结果(e10......)不一致啊。那应该是有盐或者魔改了。有个sign参数,还有时间戳。那十有八九加密参数与时间戳有关了。考虑到sign长度为32,盲猜为md5摘要算法。现在就看看是否为标准的md5算法了。逆向有AI的加持,似乎事半功倍。发现形参lF确实有加盐的操作。在这个打个断点,证实一下。
2025-10-21 17:27:43
1371
原创 JS逆向实战|Spiderdemo第五题混淆代码详解及纯算
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!接下来就是去控制流了。在使用九大节点合并算法之前,你需要先将代码统一,之前的文章讲过,因为很有规律,你甚至可以在编辑器里直接删除。控制流还原就基本差不多啦,替换后网站可以正常运行。欢迎加入知识星球,学习更多AST和爬。美化一下代码,再进行解密。
2025-10-20 17:00:35
1464
转载 JS逆向神器|AntiDebug_Breaker v1.5更新
本脚本将清除vue router的跳转方法,如果清除后依然会跳转,一方面可能是由于注入的脚本还未清除跳转方法,网站就调用了方法进行跳转,此时可以考虑手动替换js清除跳转方法。本脚本将清除vue router的跳转方法,如果清除后依然会跳转,一方面可能是由于注入的脚本还未清除跳转方法,网站就调用了方法进行跳转,此时可以考虑手动替换js清除跳转方法。本脚本功能同上,如这两个脚本均防止不了js重写log方法,可联系我本人。该脚本用于防止js重写log方法,如本脚本不生效可切换至v0.2脚本。
2025-10-19 21:01:04
1602
1
原创 AST基础知识|括号表达式类型知多少
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!这时候object又被解析成 ParenthesizedExpression 类型了。它就能正常显示为 ParenthesizedExpression 了。即它的父节点: (bb = window)['JSON'];#删除垃圾代码##插件更新#r...欢迎加入知识星球,学习更多AST和爬。结果多了个括号(),很烦人。2.在node代码中如何解析。
2025-10-17 17:01:16
665
原创 AST反混淆实战|新版的5s盾混淆代码还原不了?不存在的。
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!插件拿过来改改就好了。这个插件是遍历的 变量定义,5s盾的节点类型的赋值语句,只需要改改有差异的地方。原来如此,多了个Object类型的花指令。欢迎加入知识星球,学习更多AST和爬。
2025-10-16 17:00:39
1012
转载 好库推荐|验证码(缺口)识别项目专题
AntiCAP是一个支持多类型验证码识别的开源项目,包括OCR识别、文字点选、图标点选、数学计算和滑块验证。用户可通过pip安装,支持使用清华源加速下载。API接口包含文档说明,支持Base64图片上传,适用于多种验证码场景,如OCR识别、图标与文字点选验证、滑块匹配等。它通过训练通用的缺口检测模型,能够识别出验证码中的滑块缺口位置,并返回缺口的坐标与可信度。ddddocr是一个基于深度学习的OCR库,专注于双重数字识别,利用CNN和RNN进行特征提取和序列识别,提供高准确率和灵活性。
2025-10-15 16:53:37
542
原创 AST反混淆实战|某爬虫靶场第二题混淆代码还原详解(三)
这个时候,我们发现了一个 for-switch的循环。这种情况下,我们一般去控制流,星球有现成的框架可以使用。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!这里是计算typeof的值,可以手动替换或者编写插件在浏览器上替换。还原到这里就差不多了。欢迎加入知识星球,学习更多AST和爬。1.去控制流前的预处理。
2025-10-14 21:01:09
1047
原创 AST反混淆实战|某爬虫靶场第二题混淆代码还原详解(二)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!this.mA,所以你用 binding 没办法定位到变量引用的地方。上述的代码处理后,接下来就是去控制流了。去掉SwitchCase子节点的{}欢迎加入知识星球,学习更多AST和爬。1.变量定义还原与删除。
2025-10-11 10:15:25
1140
原创 AST反混淆实战|某爬虫靶场第二题混淆代码还原详解(一)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!当我们看到这种混淆代码时,首先应该考虑的是优化它的变量名,替换后不报错即可。不能用星球学员专用的那个插件来处理,替换后会报错。替换后,网站依然可以正常运行,说明不影响。代码美化后依旧可以完美替换,nice。欢迎加入知识星球,学习更多AST和爬。代码混乱不堪,都是乱码。
2025-10-10 21:01:12
1423
原创 AST反混淆插件| 逻辑表达式的另类还原
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!如果再研究一下,你会发现,左子节点虽然是一个逻辑表达式,但它的结果恒为true。除了传统的思路,将其变成 if语句,那有没有其他的办法呢?因为它 相当于 A || 1 ===> true。也就是说,右子节点一定会运行。
2025-09-08 20:54:09
819
原创 JS逆向|某平台反混淆练习第一题逆向详解
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!网站已经明确告诉我们四标准的SHA1 + 盐,因此,我们只需要找出这个盐即可。这里有一些 Array操作 + join操作,那最终的加密结果应该是这里的。这里打印了9次,对应 p35 <= 9。既然告诉了有盐,那还得往上找找盐。p35 <= 0,才不会有烦人的提示。但是处理后替换网页直接卡死了。这样我们就最终找到了加密参数生成的地方。加密的结果与网上生成的不一样。调试得知,最后一个字符是 "W",
2025-06-30 20:53:36
1305
原创 AST反混淆实战|类阿卡迈控制流还原详解
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!注意:所有变量的定义已经在循环体外生成了,即函数体的第一行变量定义。代码有了,那就一个位置来保存它们了。我们可以重新定义一个函数,因为这个控制流比较简单,没有if语句,也没有循环结构的代码。接下来就是 初始值为 259的控制流走完后的代码了。这样操作到最后,原始函数是可以直接删除的。注意,这里的形参,需要用它原函数的形参。因此,知道初始值后,可以直接走到最后。
2025-06-23 17:41:28
859
原创 AST反混淆插件| 浏览器环境简化专用插件
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!浏览器环境检测或参与计算。通用型插件,多用于收尾工作。
2025-06-20 12:01:38
475
原创 实用小工具|使用cheerio库提取html内的js混淆代码
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!目前,有很多js内嵌于html文档内,如果使用手动复制的方式,可能导致。因此,写个小脚本来提前html内的所有js片段,似乎很有必要。大家可以用下面这篇文章中的html作为实例操作一遍。根据官方文档提供的知识,很快就可以写出。欢迎加入知识星球,学习更多AST和爬。编码出错或者复制不全的问题。程序员嘛,能偷懒就偷懒。2.cheerio库简介。
2025-06-19 20:22:29
489
原创 AST反混淆实战|猿人学第二届比赛第四题代码片段还原(去控制流)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!2.冗余语句的删除,确保return语句后面只有break语句,也是为了代码统一方便处理。1.代码统一,确保每个case后面都有break语句,发现这里没有break语句.这是一个很 见得的for-switch语句,只比ob混淆的控制流难那么一点点。3.指向下一个case的值要明确,赋值语句的操作符变更。经过上面的统一处理后,再写反混淆代码就轻松多了。没有多余的条件表达式,也不用处理循环语句。
2025-06-18 21:01:11
583
原创 AST反混淆实战|手把手教你还原第三届猿人学比赛第二题混淆js(4)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!通过前面的处理,if已经转换成switch语句了,但是,在使用九大节点合并算法前,还需要一些准备工作。红色框框内的case语句,没有实际的代码,因此可以进行处理。红色框内的代码是ob混淆的特征代码,直接删除,代码就不用压缩替换了。具体的大家可以尝试一下,也可以私下问我。红色框内的代码也是ob混淆的特征代码,直接删除即可。删除没有上级节点的case语句。
2025-06-16 17:50:31
732
原创 AST反混淆实战|手把手教你还原第三届猿人学比赛第二题混淆js(3)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!在将所有能转if语句的节点转成if语句后,接下来就是将if语句转成switch语句了。由于是 for - if 结构的代码很多,这种肯定是控制流。for - switch ===> 去控制流成为正常的代码。因此,需要把一些可以转if语句的节点类型全部转换成if。参考星球里的三篇专门写逻辑表达式的文章。2.条件表达式的还原。3.逻辑表达式的还原。
2025-06-15 21:22:13
573
原创 AST反混淆实战|手把手教你还原第三届猿人学比赛第二题混淆js(2)
上面的代码只是将变量名进行了优化,并没有将代码进行优化处理。下面的代码是通过美化后的代码抠取的mmc,非常的方便,还未验证,不知道是否正确。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!上一篇文章虽然在本地进行了替换,但是调试起来非常的困难,因为它的变量名让人眼花缭乱。我的方案是将难看的变量名统一进行替换,直接使用星球里的脚本即可。欢迎加入知识星球,学习更多AST和爬。
2025-06-09 20:23:46
489
原创 AST反混淆实战|手把手教你还原第三届猿人学比赛第二题混淆js(1)
将 当前<script>标签内的混淆js全部删除,替换成我们处理好的混淆js,注意,它这里有个坑,处理后的代码需要压缩才能运行。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!再次请求后,发现 2 这个选项有点变紫色,右键,选择 红色框内的功能。替换保存后,再次刷新页面,不再报错,说明替换OK。原来是内嵌在主页的html文件内。在这个 2 的选项上面右键,选择。再次刷新页面,发现没有异常。5.替换处理好的js。
2025-06-08 10:44:23
612
1
原创 AST反混淆插件| 浏览器全局对象参与计算反混淆系列插件(三)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!浏览器环境检测或参与计算。通用型插件,多用于收尾工作。
2025-05-26 08:36:11
408
原创 AST反混淆插件| 浏览器全局对象参与计算反混淆系列插件(二)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!浏览器环境检测或参与计算。通用型插件,多用于收尾工作。
2025-05-23 17:40:24
419
原创 AST反混淆插件| 删除一些执行后没有意义的节点
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!通用型插件,多个节点类型,具体参见源码。通用型插件,多用于收尾工作。
2025-05-20 09:00:19
379
原创 AST反混淆插件| 围绕逻辑表达式的垃圾代码删除
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!datadome等大厂字符串解密后的混淆代码。
2025-05-19 09:02:28
426
原创 AST反混淆插件|去控制流的一些简短又必须要用到的方法
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!为了更好的配合九大节点合并算法还原控制流,我们需要写一些额外的方法进行配合,更好的还原控制流。
2025-05-17 09:04:37
647
原创 AST反混淆实战|复杂的逻辑表达式转if语句系列教程(3)
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除。目前就剩最顶层的if语句的test节点没有被还原了,可惜的是,它的alternate不为null。咱们接着上次的文章继续讲,经过上次的代码还原后,我们再来分析该如何处理。星球用户可免费查看,无删减。
2025-05-14 19:40:59
469
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅