【发布时间】:2013-05-18 15:47:26
【问题描述】:
我希望能够在 javascript 代码可能是恶意的 Python 中对 javascript 字符串进行去混淆处理。有没有可用的库来做到这一点?
我开始构建自己的,但我很快意识到这是一个比我最初意识到的更大的任务。为了正确地做到这一点,我不仅必须安全地将所有 javascript 字符串函数映射到 python 函数(包括正则表达式),我还必须处理数组、循环、与循环相关的变量等。
编辑:这是我的意思的一个例子
str1 = 'sdfhsjkdfhIdhgjkdfNgjkdfhgjkdfPdhfgkdfjUhdfjkghdfkgjTdfhgjkdfgf';
str2 = str1.replace(/[a-z]/g, '');
str2 应该等于 "INPUT"
还有一个例子:
arr = ['-', 'M', '1', 'a', 'a', 'l', 's', 'i', 'r', 'c', 'f', 'i', '#', 'o', '[', 'u', '$', 's'];
str = ""
for (i=1; i<arr.length; i+=2) {
str = str + arr[i];
}
str 应该是“恶意”
【问题讨论】:
-
@JakubM。我添加了两个示例,希望您能明白我的意思。
-
只需在隔离环境中运行代码,让它为所欲为,观察结果。大量混淆代码依赖 eval。 (如今,现代浏览器环境可能是“安全的”;考虑 jsfiddle。)
-
我尽量避免需要完整的 JavaScript 环境,如果可能的话。不过,这可能是唯一可行的选择。
标签: javascript python