是否有任何python库可以安全地解释混淆的javascript字符串
Are there any python libraries that can safely interpret obfusticated javascript strings?
我想能够去模糊javascript字符串在python的javascript代码可能是恶意的。有什么库可以做到这一点吗?
我开始建立我自己的,但我很快意识到这是一个更大的事业比我最初意识到。为了正确地做到这一点,我不仅必须安全地将所有javascript字符串函数映射到python函数(包括regex),我还必须处理数组,循环,与循环相关的变量等。
编辑:这是我的意思的一个例子
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应为"Malicious"
JSBeautifier是一个不错的选择,它可以处理大多数免费的混淆器(实际上是我所知道的任何混淆器)。有一个选项,以eval
Javascript使用Rhino,但它被列入黑名单默认(是不安全的)。
披露:我是JSBeautifier的合著者,特别是我编写了Python去混淆架构。顺便说一下,如果你发现一些JS是JSBeautifier无法处理的,考虑在项目bug跟踪器上打开一个问题:)
相关文章:
- Javascript 如何强制 string.replace 不将我的字符串解释为正则表达式
- 注入的HTML仅在Dom中解释为字符串
- 如何将JS字符串解释为文件或在Bundlebars中使用字符串
- 传递的URL字符串未解释为字符串
- 让日期字符串在浏览器中得到相同的解释
- 用“i”替换字符串中的元音..你能解释一下这个表达吗?someText.replace(/[aAeEoOuU]/ig,“
- 角度指令 将属性解释为字符串
- 数组中的字符串“”被解释,是否有解决方法
- 如何将文件内容解释为模板字符串
- 将 grunt 命令行选项解释为字符串
- 谁能解释这种关于字符串连接的奇怪 JS 行为
- 在Javascript字符串文本中解释HTML标记
- 将javascript连接字符串解释为变量
- Salesforce中的对象在Google Apps Script/Javascript中被解释为字符串
- 生成一个与Javascript字符串匹配的Regex对象.解释方法
- AJAX响应被解释为字符串
- 需要解释这个Javascript字符串资本主义原型
- DataBinder.Eval返回的值被解释为变量而不是字符串
- 字符串在附加时被解释为HTML标记
- 需要解释字符串"<%= text %>"