Comment cartographier les instructions binaires retour aux déclarations ou expressions à l'aide de la bibliothèque ASM?

StackOverflow https://stackoverflow.com/questions/4223359

Question

Je suis en train d'analyser bytecode Java dans une structure de données intermédiaire pour une utilisation ultérieure. Je suis tombé dans ASM. Il est puissant et stable. Cependant, je suis moment difficile de traduire les instructions binaires dos à l'expression java normale et déclarations. Pourrait point de qui que ce soit une direction pour moi?

La structure de données peut traiter ressembler à ceci:

ClassInfo
- FieldInfo
- MethodInfo
-- ForLoopStatement
-- WhileStatement
--- AssignmentExpression
--- FunctionCallExpression
...

En fait il n'y a rien de plus qu'une abstraction du langage java.

Merci.

Était-ce utile?

La solution

db4o que nous utilisions ironiquement appelé BLOAT bibliothèque pour récupérer un entièrement construit à partir d'un AST corps de la méthode. Il fonctionnait assez bien pour nous, mais il ne repose pas sur l'ASM.

Autres conseils

Pourquoi ne pas rester avec Java bytecode tel qu'il est et si vous avez besoin d'une forme lisible par l'homme, désassembler simplement? Au moins votre question ne fait pas clairement pourquoi Java lui-même bytecode ne peut pas être la structure de données intermédiaire utilisé pour le stockage.

La version officielle du SDK Java a un outil appelé Javad .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top