The section name can be anything, the OS loader only uses section flags to set up permissions when mapping the file into memory. For example, Delphi compiler uses CODE, and various packers use custom names (UPX00 etc.) or even garbage. AFAIK the only section name that is somewhat enforced is .rsrc - I think Explorer may not show the file icon if resources ...


You can use JByteMod to edit your class bytecode. You can also create new methods, delete methods, fields and change accesses. Its pretty easy to use, just load the jar and select the class you want to edit. JByteMod: https://github.com/GraxCode/JByteMod-Beta/releases


The problem, as I think you realise, is that you are logically moving the calculation of an expression past the point whereby one of its input values gets changed. Given your current implementation, I'd suggest the easiest approach to handle this is - When an instruction writes to a variable, look to see if there are any expressions involving this variable ...

Only top voted, non community-wiki answers of a minimum length are eligible