我是Rhino解析器的新手。我可以在JavaScript代碼中使用此犀牛分析器來提取任何html文件中的JavaScript代碼的抽象語法樹。如果是的話,我應該開始這個。這是用於分析代碼的AST,用於計算javascript中使用的關鍵字和單詞之間的比率,以識別常見的解密方案,並計算某些類的函數調用的發生,例如fromCharCode() ,eval()和一些字符串函數,這些函數通常用於解密 以及執行下載驅動漏洞利用。在javascript代碼中使用Rhino解析器來解析javascript中的字符串
5
A
回答
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;
+0
這個解析器非常好,上面的代碼爲我工作謝謝。你能否提供這個解析器的教程,以便我可以在javscript中提取網頁的javascript代碼的AST – user1335906
+0
我還沒有做太多的工作,所以我沒有這方面的經驗。 'parse'函數雖然返回AST,所以它不應該太難。文檔位於http://esprima.org/doc/index.html,作者的博客(http://ariya.ofilabs.com/)有一些如何使用它的例子。希望那些幫助。 –
相關問題
- 1. 解析字符串用JavaScript
- 2. 在JavaScript中的JSON字符串解析?
- 3. 的JavaScript:解析字符串
- 4. JSON字符串未在Javascript中解析
- 5. 在JavaScript中解析時間字符串
- 6. Javascript字符串解析
- 7. 如何解析Javascript中的字符串?
- 8. JavaScript中的字符串解析/ jQuery
- 9. 解析字符串中的JavaScript
- 10. 從javascript中的字符串解析Int
- 11. 解析javascript中的JSON字符串
- 12. JavaScript中的JSON字符串解析
- 13. 使用javascript解析html字符串
- 14. 使用JavaScript解析XML字符串
- 15. 使用Flex解析器解析Javascript代碼
- 16. 用JavaScript解析代碼/ jquery
- 17. 解析串聯的JavaScript字符串
- 18. 使用Mootools的/ Javascript來解析簡碼
- 19. 如何在django中解析來自url的javascript字符串
- 20. 如何使用JavaScript來解析字符串<markup>符號
- 21. 解析字符串值對在javascript
- 22. 解析Javascript和雲代碼
- 23. PHP PCRE解析JavaScript代碼
- 24. 解析簡碼使用javascript
- 25. 解析解析字符串
- 26. 如何在JavaScript中使用JSON.parse()解析HTML字符串?
- 27. 在JavaScript中使用RegEx解析CSS字符串
- 28. 的JavaScript解析/分割字符串
- 29. 的JavaScript/DOM,解析鍵/值字符串
- 30. 的JavaScript解析JSON字符串
供參考:在[犀牛1.7R3](添加了一個AST API https://developer.mozilla.org/en-US/ docs/New_in_Rhino_1.7R3) – McDowell