- 博客(583)
- 收藏
- 关注
原创 AST还原实战| 实战还原一个22M的混淆js大文件
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析之前有星友发了这个大文件在群里:https://t.zsxq.com/10nyLWOGL是个大文件,22M多:打开后,看着像ob混淆:代码有 24万行之多,非常的可怕。2. 思路详解这种大文件,用一键解obfuscator混淆脚本处理,发现无法还原,...
2023-08-07 15:30:36 221
原创 AST从入门到实战知识星球基础文章索引
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!基础篇:1.AST相关概念,安装babel库:利用AST解混淆先导知识:概念相关AST基础知识:环境的搭建与babel库的安装2.babel库反混淆模板,按着这模板添加插件:利用AST解混淆先导知识:调用babel库反混淆代码模板3.认识源代码的AST结构:AST...
2023-08-03 12:03:23 313
原创 AST还原实战| 实战还原一个中等难度的ob变种混淆代码
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析之前有星友发了这个链接在群里:https://thetanuts.org/发现有混淆的代码,拿来做实战还原的案例不错,因此有了这篇文章。但是现在网站访问不了了,大家可以自行到知识星球里下载混淆样本。https://t.zsxq.com/10m1trp...
2023-07-31 15:15:30 331
原创 AST还原实战|某reese84参数混淆代码还原分析
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析最近关于 reese84 参数的需求比较旺盛,主要是因为某个购票网站吧。目标网站:https://www.flyscoot.com/en抓包可以看到有一个混淆代码的js:它由两个自执行函数组成,第二段混淆代码看变量名即可猜出是ob混淆,直接拿ob混淆...
2023-07-28 10:51:31 1553
原创 AST实战|使用AST进行插桩获取Incapsula盾的混淆代码
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析之前的文章还原过Incapsula盾的混淆代码,具体参考这篇文章:JS逆向:拨云见日,AST解混淆让代码分析变得如此简单也就是下面的目标网站:https://book.volotea.com/现在看过去,混淆模式依然没变,但是混淆出来的代码却换成了新...
2023-07-27 17:28:32 198
原创 AST实战|如何使用babel库彻底还原jsfuck混淆代码
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析我们在还原jsfuck代码时,代码量少的可以使用 常量折叠 插件来还原,但是对于大部分jsfuck代码来说,调用traverse 函数 时 直接报错:尝试过看源代码解决该问题,但能力有限,跟下去后就不了了之了。因此,我们需要想个办法,来跳过这种报错,...
2023-07-26 10:47:18 362
原创 AST反混淆插件|如何对同一节点使用多个方法进行遍历
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!
2023-03-08 09:10:15 628 1
原创 AST还原实战|对某混淆js的变量名优化处理
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析群里大佬丢过来一个html文件,直接打开后,是这样的:它的网页源代码长这样:js代码怪难看怪恶心的,有点类似 蝌蚪文。其实,它的套路就是字符串编码 + 恶心的变量名。之前文章写过对于蝌蚪文的优化,所以这对我来说应该不是什么难事。2. 变量名优化打开...
2023-03-01 09:30:30 690
原创 AST还原实战|小妙招,使用AST来格式化JSON数据
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析假如你有一些被压缩了的JSON数据,而找不到好的网站来进行格式化,不妨使用babel库的格式化功能来进行展开。2. 前后比对还原前:{"status": "1", "state": "success", "data": [{"value": 2366...
2023-02-13 09:43:13 784
原创 AST反混淆插件|如何对多个节点使用同一插件
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!
2022-11-08 09:50:18 778
原创 AST反混淆插件|a["length"] 与 a.length 的相互转换
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析如题,如何将a["length"] 与 a.length 的相互转换? 有时候统一格式后,更方便我们处理。当然,我的风格是将所有的 类似a.length全部 转换为a["length"] ,因为我获取到它是个字面量,更放心吧。2. 混淆代码...
2022-11-07 10:21:22 597
原创 AST反混淆插件|如何将定义在一起的变量分离出来
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!
2022-11-04 09:08:41 525
原创 AST反混淆插件|如何处理条件已知的if、条件表达式等判断语句
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析在处理完ob混淆后,有时可以看到类似下面的代码段:if ("abc" === "abc"){ //do something;}else{ //do something;}再通过强大的path.evaluateTruthy方法,...
2022-11-03 08:50:37 615
原创 AST反混淆插件|如何删除多余的window标识
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析在阿卡迈2.0还原后的混淆代码中,可以看到类似的代码:for (mU = ",",CU = true,LU = 0; LU < window["Math"]["floor"](3 * window["Math"]["random"]()) ...
2022-11-01 09:05:38 549
原创 AST实战|如何快速定位Akamai2.0混淆代码加密位置
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析研究过Akamai 2.0 的朋友都应该知道,它的混淆代码基本每周至少变一次,调试起来非常的痛苦,每次都要去找加密位置,也是非常的令人不爽。所以干脆写个 简单的 脚本直接定位。2. 混淆代码分析阿卡迈 2.0的初始加密是一个包含 56个元素的数组,...
2022-10-31 08:57:47 1286 1
原创 AST反混淆插件|如何将条件表达式转换成if语句
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析在部分混淆代码中,可以看到类似的代码:m ? a=2:a = 3;这一类是比较简单的条件表达式(三目语句),而有些比较变态的:3 === this.Cn ? this.Yz = 256 : 23 === this.Cn ? this.$V ? t...
2022-10-28 11:35:25 874
原创 AST反混淆插件|Array类实例的方法调用结果值替换。
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析在部分混淆代码中,可以看到类似的代码:let Tsai = "TSA,olleh"["split"]('')["reverse"]()["join"]('');如果使用 前天文章 里的插件,只能还原成这样:let Tsai = ['T', 'S'...
2022-10-27 09:34:30 535
原创 AST反混淆插件|String类实例方法调用结果替换。
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析在部分混淆代码中,可以看到类似的代码:varn=""["concat"]("ASTPX"["replace"]("PX",""),"isGood!");可以看到,这是调用了String类实例的方法,并且实参均为字面量,拿到控制台运行,可...
2022-10-25 09:26:00 623
原创 AST基础知识|从AST解析看运算符的优先级
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析如何通过AST解析后的代码观察运算符的优先级?如何确保还原不出错?2. 实例分析1将下面的代码拿到在线解析网站上分析:1+2+3;解析后的结果:从上图可以看出,它把"1 + 2 + 3" 解析成了BinaryExpression 类型,而...
2022-10-24 11:19:58 656
原创 AST反混淆插件|如何在函数的调用处自动替换计算的结果。
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析在混淆的代码中,可以经常见到它定义了很多函数,然后再去进行调用还原成字面量等类型。在常规办法中,可以手动讲函数定义复制到AST还原文件中,那可不可以写个通用插件自动替换呢?2. 混淆代码还原前:function add(a,b){ return...
2022-10-21 08:56:07 658
原创 AST反混淆插件|如何还原Object对象里的value值
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析现在越来越多的js混淆喜欢把一些字面量全部放到一个Ojbect里面,干扰调试。因此,可以写个简单的插件将其取出来。2. 混淆代码还原前:var obj = {"a":123,"b":456,"c":"",};var res = obj["a"] +...
2022-10-20 08:56:21 575
原创 AST反混淆插件|如何还原Array对象里的元素
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析曾经在某大型网站的参数核心加密代码中全都是类似下面的代码:var _2$SS = function(_SSz, _1111) { var _l1L1 = [46222, '\x74\x61\x43\x61\x70\x74\x63\x68\x6...
2022-10-19 08:53:51 611
原创 AST反混淆插件|如何删除所有的代码注释
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析假如你需要处理的代码有着太多的注释,想要在发行的时候全部删除,你又不想手动去找每个注释再删除,太费时间了,我们今天看看注释该怎么删除。2. 混淆代码注释删除前:vara=123;//thisissinglelinecomment...
2022-10-18 08:58:31 766
原创 AST反混淆插件|删除没有被调用的局部函数
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求分析现在越来越多的网站加入了混淆代码,当我们还原某些代码后,难免会剩下一些垃圾代码,比如没有被使用的局部变量,if语句不执行的情况等。因此,写个插件用来清除它们还不影响代码的执行逻辑,那最好不过了。2. 混淆代码还原前:!function() { ...
2022-10-17 10:44:24 767
原创 AST实战|js代码中混乱的变量名优化思路分享
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 让人神经错乱的变量名相信大家都见过以_$ 开头的变量名,这种变量名杀伤力不是很强,看着也还行,它是某数的特征;也有以$_ 开头的变量名,它是某验的特征;也有以_0x 开头的变量名,很多没有基础的小白就被这个名字搞糊涂了,这是十六进制吗?它是著名的国外混...
2022-10-14 14:37:45 813
原创 AST还原实战|PX3防护盾混淆代码还原思路分享
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 什么是PX3最近在我的群里很多人讨论PX3,甚至有大佬开天价收购PX3的并发方案。那到底什么是PX3呢,它的官网如下:https://www.perimeterx.com/根据它的介绍:A Security Platform That Protects Re...
2022-10-13 09:58:15 2950 2
原创 AST基础知识|babel库中path常用方法总结
path.toString这个非常有用,经常用于定于插件遍历的path,以便分析问题。path.实参一般是 node 类型,即将当前遍历的path替换为 实参里的 新节点。注意,它不能用于 Array 的替换,即实参不能是Array类型。path.实参一般是 Array 类型,它只能用于 Array 的替换。即所有需要替换的节点在一个Array里面,常见的替换如 Block 类型节点里的 body.body。直接调用即可将当前遍历的所有符合条件的路径全部删除,所以使用的时候需要注意。
2022-10-12 09:52:18 2677
原创 AST实战|AST入门与实战课程随堂笔记1010
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 作业地址https://t.zsxq.com/06bmmEynQ2. 混淆代码分析拿到一段混淆的代码,先去分析有什么地方是可以还原的,然后再分析还原后的代码是不是可以进一步还原。案例代码:function _u() { var n = r(v(980...
2022-10-11 14:41:50 728
原创 工具推荐|推荐一款非常好用的js分析在线小工具
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 在线地址http://107.151.202.163:8129/2.工具介绍由于还没想好网站名字,目前仅以ip形式来访问,后续建设好网站后给大家发在线的网址。它是一款基于babel库做的在线小工具,功能很简单,但是都比较常用,所以我归类到一起了。左边的文本...
2022-09-30 09:22:48 1958
原创 好库推荐|强烈推荐,支持Ja3指纹修改的golang请求库
本文参考自下面的文章,略有修改:https://blog.csdn.net/qq_42279077/article/details/123853166项目地址:https://github.com/wangluozhe/requests它是golang版requests请求库,使用方式跟python版requests库极其相似,欢迎各位大佬使用!如果觉得项目不错的话,麻烦大家在github地址上点...
2022-09-29 11:02:52 2150 4
原创 AST基础知识|babel库中path常用属性总结
在本文中,选出部分常用的属性大家参考,更多的知识请自行学习源码。......path.nodepath.scope表示当前path下的作用域,这个也是写插件经常会用到的。具体的可以参考这篇文章 :AST基础知识|Scope和Binding常用方法及属性总结用于获取当前path下的父path,多用于判断节点类型。用于获取当前path下的父node,多用于判断节点类型。//这两者是等价的var c = 3;
2022-09-28 09:21:38 1215
原创 高频问题|大佬们,请问 _0x4c9738 怎么还原啊?
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 起因最近在各个群总是可以见到类似的问题:大佬们,请问 _0x4c9738 怎么还原啊?基本上都是下面的这种对话:或者:所以,干脆写篇文章告诉大家这是什么。2. 它只是一个变量名是的,它只是一个以下划线开头的变量名。它在ast解析下面是这样的:只是一个I...
2022-09-23 14:54:27 646
原创 调试技巧|如何动态调试经过还原后的某数VM文件
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求众所周知,某数的js不仅混淆了,而且还是动态的,非常的难以阅读,能让小白直接劝退。我是研究js混淆代码还原的,希望有一种方法能动态调试还原后的VM,经过一番摸索,它来了。2. 准备因为需要替换html响应,需要安装mitmproxy 这个库:pip i...
2022-09-16 09:56:19 1040
原创 Python编程|用Python编写一个支持断点续传、显示实时网速的通用下载器。
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 需求通过上篇文章 JS逆向|获取某电影解析网站的真实视频地址,获取到了视频的真实播放地址:https://v3.douyinvod.com/6bb5df6aa38a2bc8fc696a19e39caacf/63215cb6/video/tos/cn/tos-...
2022-09-14 08:52:37 894
原创 前端小技巧|如何复制AST在线解析网站的节点名称
关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负。如有侵权,请联系作者立即删除!1. 问题最近有不少同学问我在编写AST插件的时候,Pycharm提示不全怎么解决。由于我电脑配置不给力,没用到Pycharm,因此没办法回答。我都使用 UltraEdit + Cmder 来编写和运行还原脚本。经常用到的就那么几个函数:path.isXXX()...
2022-09-08 09:19:47 871
原创 前端小技巧|关掉某视频解析网站上的广告
关注它,不迷路。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!1. 前言没钱充视频网站的会员了,只有去视频解析类的网站上看,发现了一个还不错的网站:'aHR0cHM6Ly93d3cuNXlqdS5jb20v'比较烦人的就是,每次打开新的页面,左右两边都有广告,右下角还有个弹窗。作为一个对前端还算有一丁点了解的人,这种广告怎么能忍,得想个办...
2022-09-05 21:37:01 1064
原创 好库推荐|两个解决ja3检测的Python库,强烈推荐
关注它,不迷路。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!某佬丢过来一个网站,我用requests库请求会报错:先说下我的环境: Win10 + Python 3.10 +requests2.27.1,直接请求的话报错了,我猜测是检测了tls,听说降低Python和requests的版本可以正常请求,或许检测不那么严格。下面介绍...
2022-08-26 09:07:46 3151
原创 AST基础知识|使用小技巧减少特定条件的判断
关注它,不迷路。本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!在写了很多插件之后,总结出了一个插件编写的规律,有如下两种:1.遍历需要处理的path -->条件判断 -->构造新新节点--> 替换2.遍历需要处理的path -->条件判断 --> 删除该节点为什么需要条件判断,是为了防止处...
2022-08-18 08:32:27 619 1
原创 AST基础知识|Scope和Binding常用方法及属性总结
.....在本文中,选出部分常用的属性和方法供大家参考,更多的知识请自行学习源码。表示当前作用域下的所有node,参考上面的 this.block = node;输出当前每个变量的作用域信息。调用后直接打印,不需要加打印函数重构scope,在某种情况下会报错,不过还是建议在每一个插件的最后一行加上。修改当前作用域下的的指定的变量名,oldname、newname表示替换前后的变量名,为字符串。
2022-08-16 08:54:53 1298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人