21、JavaScript 混淆字符串检测方法解析

JavaScript 混淆字符串检测方法解析

1. JavaScript 混淆字符串的提取

在进行混淆字符串检测之前,需要先提取与 JavaScript 危险函数相关的所有字符串。首先,将 JavaScript 代码中的所有字符串分为三种情况,然后基于这三种情况,使用静态数据流分析来提取与危险函数参数相关的所有字符串。

1.1 JavaScript 字符串分类

为了提取与危险函数参数相关的所有字符串,将 JavaScript 代码中的所有字符串分为以下三种情况:
- CASE1: NoChange :函数 f 为常量且只有一个变量, Y 等于 x1 。例如:

var x1 = "3+4";
eval(x1);

在这个例子中, eval 函数使用 x1 中分配的字符串,不修改其值。但像 eval("\144\157\143\165\155\145\156\164") 这样的情况,字符串需要先解码再执行。在静态数据流分析中,这种情况会直接提取和分析。
- CASE2: Concatenation :函数 f 为常量,但 Y 是多个字符串(如 x1, x2, x3, ..., xn )的拼接。例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值