在javascript代码中使用Rhino解析器来解析javascript中的字符串

use*_*906 5 javascript rhino

我是Rhino解析器的新手.我可以在javascript代码中使用此rhino解析器来提取任何html文件中的javascript代码的抽象语法树.如果是这样我应该开始这个.这是用于分析AST的代码,用于计算javascript中使用的关键字和单词之间的比率,识别常见的解密方案,以及计算某些类函数调用的出现次数,例如fromCharCode() ,eval()和一些字符串函数,这些函数通常用于解密和执行逐个下载漏洞利用程序.

Mat*_*ley 3

据我所知,您无法在 Rhino 中通过 JavaScript 访问 AST。不过我会看看Esprima解析器。它是一个用 JavaScript 编写的完整 JavaScript 解析器,并且有一个用于进行代码分析的简单 API。

这是一个计算关键字与标识符比率的简单示例:

var tokens = esprima.parse(script, { tokens: true }).tokens;
var identifierCount = 0;
var keywordCount = 0;

tokens.forEach(function (token) {
    if (token.type === 'Keyword') {
        keywordCount++;
    }
    else if (token.type === 'Identifier') {
        identifierCount++;
    }
});

var ratio = keywordCount / identifierCount;
Run Code Online (Sandbox Code Playgroud)