AST反混淆实战|hcaptcha验证码混淆js还原分析

关注它,不迷路。       

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

1.实战地址

https://newassets.hcaptcha.com/c/bc8c0a8/hsw.js

将上面静态的js保存下来。

2.通用框架处理

使用通用反混淆模板_预处理版本对上面的js进行美化处理。分析后发现是个 ob混淆:

b84a4bb4c871eced537c744bcb53ca8f.png

2.还原点分析

使用星球里 1113 版本的 ob混淆一键还原脚本处理,发现仅还原了一点点字符串:

5d2c86bf1ae2a1053d946bb0598190d2.png

打开结果文件后,再分析看看为啥,发现函数名被重复赋值了:

be3f49336b9a48a14452fbc3be93ba69.png

而且,有很多函数的实参并非字面量,如:

f3d370deda539668dadf58146d8d58b3.png

这种需要使用星球里的这个  object对象的还原 插件可以将这里的 i 进行还原:

https://t.zsxq.com/14fNaCvuN

为了避免误伤,我把 isBaseLiteral 这个函数设置的更严格了:

function isBaseLiteral(node) {if (types.isNumericLiteral(node)) {//null可能有坑return true;}if (types.isUnaryExpression(node) && ["+", "-"].includes(node.operator)) {return isBaseLiteral(node.argument);}return false;
}

另外还有这种变量定义的赋值:

b6e93d74ea8bd30876a8409f3f56eed5.png

使用星球的 变量定义为字面量时的还原 插件:

https://t.zsxq.com/14tgMrOIv

以及这种赋值语句的赋值:

50dc97665b53f03c6afde2e006785130.png

使用星球的 赋值语句right节点为字面量时的还原 插件:

https://t.zsxq.com/14rVn4nPd

接下来就是函数名赋值给多个变量的处理了,这里因为误杀其他的语句,我给单独处理了,大家可以参考我在作业上的处理。

3.ob混淆一键处理

使用星球里 1113 版本的 ob混淆一键还原脚本处理,还原了很多字符串:

7e79198f4e7931ec40c8984680be159c.png

再次搜索 函数名,发现还有调用的地方:

dc186288630272f55e4cf5f86e2df2da.png

这说明第二步没有处理干净。直接手动处理吧。把类似n和y的值直接复制进去就行了。

然后再用一键还原就好了。

6537f637a58b14f8957d628f35b6a80a.png

完整代码请自行下载:

https://t.zsxq.com/14zASGhX0

PS:还原后替换,有2个坑,一个是会像谷歌验证码一样校验文件hash;二是第一次使用ob混淆还原的时候,移位函数不能处理。

今天的文章就分享到这里,后续分享更多的技巧,敬请期待。

13ffe5cb738d67195ccaee010697927b.jpeg

欢迎加入知识星球,学习更多AST和爬虫技巧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/208404.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SPASS-ARIMA模型

基本概念 在预测中,对于平稳的时间序列,可用自回归移动平均(AutoRegres- sive Moving Average, ARMA)模型及特殊情况的自回归(AutoRegressive, AR)模型、移动平均(Moving Average, MA)模型等来拟合,预测该时间序列的未来值,但在实际的经济预测中,随机数据序列往往…

【网络奇缘】- 计算机网络|性能指标|体系结构

🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 目录 温故而知新 计算机网络性能指标 时延 时延带宽积 往返时延RTT 访问百度​编辑 访问b站 访问谷歌 …

CSS特效016:天窗扬起合上的效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…

Mac自带的看图如何连续查看多张图片

一、问题 mac看访达里的图片时,双击打开一张图片,然后按上下左右键都没法切换到另外的图片。而且也没找到像window一样单击缩略图可以看到预览图。其实是自己不懂得怎么使用,哈哈哈😂 二、方法 2.1、图标方式 可以看到缩略图&a…

分类预测 | Matlab实现KPCA-IDBO-LSSVM基于核主成分分析-改进蜣螂算法优化最小二乘支持向量机的分类预测

分类预测 | Matlab实现KPCA-IDBO-LSSVM基于核主成分分析-改进蜣螂算法优化最小二乘支持向量机的分类预测 目录 分类预测 | Matlab实现KPCA-IDBO-LSSVM基于核主成分分析-改进蜣螂算法优化最小二乘支持向量机的分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.多特…

2019年12月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 怎样修改图章的颜色? A:只需要一个数字来设置颜色 B:设置RGB的值 C:在画笔中设置颜色、饱和度、亮度 D:在外观中设置或修改角色颜色特效 答案:D 在外观中设置或修改角色颜色特…

前缀和及差分数组

前缀和 原数组x0x1x2x3x4x5前缀和数组x0x0x1x0x1x2x0x1x2x3x0x1x2x3x4x0x1x2x3x4x5前缀和数组代数形式x0’x1’x2’x3’x4’x5’ 计算原数组某区间的和 sum[x1,x2,x3] 利用前缀和计算 x3-x0 x0x1x2x3-x0 x1x2x3 差分数组 x0x1x2x3x4x5原数组x0x1x2x3x4x5差分数组x0x1-x0x…

C# Winform使用log4net记录日志

写在前面 Log4Net是从Java的log4j移植过来的,功能也与log4j类似,可以把日志信息输出到文件、数据库、控制台、Windows 事件日志、远程系统日志服务等不同的介质或目标。 Log4Net配置选项丰富灵活,并且可在运行时动态更新配置并应用&#xf…

『亚马逊云科技产品测评』活动征文|AWS 存储产品类别及其适用场景详细说明

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 目录 前言、AWS 存储产品类别 1、Amazon Elastic Block Store (EBS) …

ABAP调用Https接口 Ssl证书导入

ABAP调用Https接口 Ssl证书导入 一、证书导入 谷歌浏览器打开对方系统URL地址,下载SSL Server certificate,步骤如下: 浏览器打开要导出certificate(证书)的网站,点击这个小锁的图标: 点击连接是安全的后面小播放按钮 点击证…

千云物流 - 使用k8s负载均衡openelb

openelb的介绍 具体根据官方文档进行安装官方文档,这里作为测试环境的安装使用. OpenELB 是一个开源的云原生负载均衡器实现,可以在基于裸金属服务器、边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 Service 对外暴露服务。OpenELB 项目最初由 KubeSphere 社区…

创作4周年

🙌秋名山码民的主页 😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 获取源码,添加WX 目录 前言机…