Is there a utility (or eclipse plugin) for editing java class files? I'd like to manipulate the bytecode of a java class file without recompiling it nor having a complete buildpath.
E.g. to rename methods, add/delete instructions, change constants etc.
The only utilities I found are:
classeditor but it's very limited in functionality (e.g. renaming of things and manipulating instructions isn't possible).
jbe doesn't save changes (maybe because class verifying fails - before I made any changes, although the class runs perfectly)
(jbe initially had a classpath issue, adding the class path to the jbe.bat file helped)
JBE is a bytecode editor suitable for viewing and modifying java class files. It is built on top of the open-source jclasslib bytecode viewer by ej-technologies. For verification and exporting the class files, JBE uses the the Bytecode Engineering Library by Apache's Jakarta project. JBE requires Java 1.5 to run.
Yes ,this is called as decompilation process to convert machine code or we can say it as byte code to its original source code but till some extent !
Bytecode is the instruction set of the Java Virtual Machine (JVM), and all languages that run on the JVM must eventually compile down to bytecode. Bytecode is manipulated for a variety of reasons: Program analysis: find bugs in your application.
I use reJ for editing class files directly.
It allows you to edit instructions, methods, constant pool, diff classes, and a split view with a hex editor.
It's ridiculously awesome.
I have not seen any byte code -> byte code frontends, but plenty backends.
I would suggest that you have a look at the many byte code manipulation libraries like javassist
which allow loading byte code, manipulate it, and save it back to disk, and then write a small main that does exactly that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With