5

Rhinoパーサーは初めてです。このrhinoパーサーをjavascriptコードで使用して、任意のhtmlファイルのjavascriptコードの抽象構文ツリーを抽出できますか?これは、JavaScriptで使用されるキーワードと単語の比率を計算し、一般的な復号化スキームを識別し、fromCharCode()などの特定のクラスの関数呼び出しの発生を計算するためのコードのASTを分析するためのものです。 、eval()、およびドライブバイダウンロードエクスプロイトの復号化と実行に一般的に使用されるいくつかの文字列関数。

4

1 に答える 1

3

私の知る限り、RhinoのJavaScriptからASTにアクセスすることはできません。しかし、私はエスプリマパーサーを見るでしょう。これは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;
于 2012-05-29T15:27:59.413 に答える