Sono nuovo al parser di Rhino. Posso usare questo parser di rhino in codice javascript per estrarre l'Abstract Syntax Tree del codice javascript in qualsiasi file html. Se è così dovrei iniziare. Questo è per analizzare AST del codice per calcolare il rapporto tra parole chiave e parole usate in javascript, per identificare schemi di decrittografia comuni e per calcolare le occorrenze di alcune classi di chiamate di funzioni come fromCharCode() , eval() e alcune funzioni stringa comunemente utilizzate per la decrittografia e l'esecuzione di exploit drive-by-download.Utilizzo dell'analizzatore di Rhino nel codice javascript per analizzare le stringhe in javascript
Utilizzo dell'analizzatore di Rhino nel codice javascript per analizzare le stringhe in javascript
risposta
Per quanto ne so, non è possibile accedere a AST da JavaScript in Rhino. Guarderei però il parser Esprima. È un parser JavaScript completo scritto in JavaScript e ha una semplice API per fare analisi del codice.
Ecco un semplice esempio che calcola la parola chiave per Identifier rapporto:
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;
Questo parser è stato veramente buono, il codice sopra riportato ha funzionato per me Grazie. Puoi fornire un tutorial per questo parser in modo da poter estrarre l'AST del codice javascript di una pagina web in javscript – user1335906
Non ho ancora fatto molto con esso, quindi non ho alcuna esperienza con cose del genere. La funzione 'parse' restituisce AST, quindi non dovrebbe essere troppo difficile. La documentazione è su http://esprima.org/doc/index.html e il blog dell'autore (http://ariya.ofilabs.com/) contiene alcuni esempi su come usarlo. Spero che questi aiuti. –
- 1. Utilizzo di Rhino anziché di ScriptEngine per eseguire il codice JavaScript in Java
- 2. configurare rhino in javascript Eclipse
- 3. decomprimere le stringhe in javascript
- 4. Utilizzo di javascript per stampare le immagini
- 5. Utilizzo del codice JSP in JavaScript
- 6. come ordinare le stringhe in javascript numericamente
- 7. analizzare la stringa in JavaScript
- 8. Come confrontare le stringhe Unicode in Javascript?
- 9. Escaping di stringhe di stringhe JavaScript JavaScript nelle viste
- 10. Posso creare un oggetto "finestra" per javascript in esecuzione nel motore di script di Rhino Java
- 11. concatenazione di 'SCR' + 'IPT' nel codice javascript
- 12. Utilizzo di Url.Action in javascript
- 13. modo veloce per concatenare le stringhe in nodeJS/JavaScript
- 14. Come posso analizzare le variabili Javascript usando python?
- 15. Utilizzo di Twig per file Javascript dinamici
- 16. come convertire gli array Rhino-JavaScript per Java-Array
- 17. Alternative a JavaScript eval() per analizzare JSON
- 18. Utilizzo di PHP per caricare Javascript
- 19. Come sostituire le stringhe con javascript?
- 20. Stringhe come chiavi di array in javascript
- 21. Corrispondenza delle stringhe Javascript
- 22. concatenazione di stringhe utilizzando JavaScript
- 23. Come creare un array JavaScript "reale" in Rhino
- 24. Rhino: numeri Java non si comportano come i numeri Javascript
- 25. Soluzione migliore per l'utilizzo di Url.Azione nel codice javascript
- 26. Javascript come analizzare array JSON
- 27. Filtraggio delle stringhe "solo spazi" in JavaScript
- 28. Escaping di stringhe JavaScript in Python
- 29. Unicode in Rhino
- 30. Sto evitando le stringhe in modo errato in JavaScript?
proposito: Un'API AST è stata aggiunta in [Rhino 1.7R3] (https://developer.mozilla.org/en-US/ docs/New_in_Rhino_1.7R3) – McDowell