texto subrayar justificar enriquecido cuadro crear como centrar java bytecode decompiler bytecode-manipulation .class-file

subrayar - ¿Hay un editor de archivos/códigos de bytes de Java para editar instrucciones?



subrayar texto en java (4)

¿Existe una utilidad (o complemento de eclipse) para editar archivos de clase java ? Me gustaría manipular el código de bytes de un archivo de clase java sin volver a compilarlo ni tener un camino de compilación completo.

Por ejemplo, para renombrar métodos, agregar / eliminar instrucciones, cambiar constantes, etc.

Las únicas utilidades que encontré son:

  • classeditor pero su funcionalidad es muy limitada ( por ejemplo, no es posible cambiar el nombre de las cosas y manipular las instrucciones ).

  • jbe no guarda los cambios (tal vez porque la verificación de la clase falla, antes de hacer cualquier cambio, aunque la clase funciona perfectamente)

    (jbe inicialmente tenía un problema de classpath, agregando la ruta de clase al archivo jbe.bat ayudado)


¿Le resulta útil this lista de bibliotecas de código de manipulación de bytes / generación de código?


Escribí un ensamblador y desensamblador Java de código abierto que puede ser útil.

Le permite desensamblar un archivo de clase en un ensamblaje legible por humanos, editarlo y luego volver a ensamblarlo en una clase. Originalmente, fue diseñado para escribir grietas ofuscadas, por lo que hay muchas características oscuras que admite que muchas otras herramientas no admiten. Si necesita alguna función que actualmente no admita, no dude en ponerse en contacto conmigo y veré qué puedo hacer.


No he visto ningún código de byte -> frontends de código de byte, pero muchos backends.

Le sugiero que eche un vistazo a las numerosas bibliotecas de manipulación de códigos de bytes, como javassist que permiten cargar el código de bytes, manipularlo y guardarlo de nuevo en el disco, y luego escribir una pequeña página principal que haga exactamente eso.


Yo uso reJ para editar archivos de clase directamente.

Le permite editar instrucciones, métodos, agrupación constante, clases de diferencias y una vista dividida con un editor hexadecimal.

Es ridículamente impresionante.