JS解混淆-AST还原案例

本文介绍了JavaScript混淆的目的和常见类型,如ob、sojson、jsfuck等,并探讨了AST(抽象语法树)在解混淆中的作用。通过理解AST,可以更有效地还原混淆代码。文章列举了多种解混淆方法,包括使用开源插件、特殊案例处理以及学习编写解混淆逻辑,为读者提供了解混淆JS的实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、js混淆了解
1、为什么要混淆?
  • js混淆的作用:为了防止爬虫通过分析js内容,轻易的还原出网站的加密逻辑,而做出的安全防御手段之一,常常将一个逻辑简单的可能十几行算法代码思路,通过变量混淆替换、增加冗余无效代码、增加无限debugger反调试功能、增加多层的套娃式if~else代码、以及埋陷阱等混淆成几千行的js代码,给人第一印象难读,对入门分析者造成恐惧心理
  • 如图,我们常见的ob混淆就是这个原理,左侧也就5行的代码,经过ob混淆这么一个操作,就有了右侧很多_0x开头的字符串/函数混淆的代码,逻辑调用分析难度增加,是反爬的常用手段
    在这里插入图片描述
    在这里插入图片描述
2、常见的混淆模样(ob/sojson/jsfuck/AAencode/jjEncode/eval)
  • 拿输出hello world为例子,常见的混淆有这6种:ob混淆、sojson混淆、eval混淆、jsfuck混淆、AAEncode混淆、jjEncode混淆,用的比较多的混淆是ob混淆、sojson混淆、eval混淆这三种

    function hi() {
        console.log("Hello World!");
    }
    hi();
    
  • ob混淆ob混淆网址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值