我是Rhino解析器的新手。我可以在javascript代码中使用这个rhino解析器来提取任何html文件中的javascript代码的抽象语法树吗?如果是这样,我应该启动this.This是为了分析代码的AST,用于计算javascript中使用的关键字和单词之间的比率,识别常见的解密方案,并计算某些类型的函数调用的出现次数,例如fromCharCode(),eval(),以及一些通常用于解密和执行drive by-download漏洞的字符串函数。
发布于 2012-05-29 23:27:59
据我所知,在Rhino你不能从JavaScript访问AST。不过,我还是会看看Esprima解析器。这是一个用JavaScript编写的完整的JavaScript解析器,它有一个简单的应用程序接口来进行代码分析。
下面是一个计算关键字与标识符比率的简单示例:
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;https://stackoverflow.com/questions/10793189
复制相似问题