我希望能够在python中解除javascript代码可能是恶意的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应该是“恶意”
答案 0 :(得分:3)
一个很好的选择是JSBeautifier,它可以处理大多数免费的混淆器(实际上,我知道的任何混淆器)。使用Rhino可以选择eval
Javascript,但默认情况下它被列入黑名单(不安全)。
披露:我合着了JSBeautifier,特别是我编写了Python反混淆架构。顺便说一下,如果你找到JSBeautifier无法处理的JS,可以考虑在项目bugtracker上打开一个问题:)