It includes a Java source generator which, given a .class file as input, produces a Java source class which will regenerate the input via the ASM builder APIs. Obviously, the benefit is that you get a starting point for building various re-writers, analyzes, etc.
https://github.com/Sable/soot
I had looked at Soot some time ago because of Dava, the Java decompiler included with the project.
Also, for programatic manipulation of bytecode, ASM is a great tool:
http://asm.ow2.org/
It includes a Java source generator which, given a .class file as input, produces a Java source class which will regenerate the input via the ASM builder APIs. Obviously, the benefit is that you get a starting point for building various re-writers, analyzes, etc.