I have an ELF file that I would like to decompile into C code, and make simple changes to the resulting C code and rebuild it into an ELF.
C
This will give you (almost) an assembly code translation:
objdump --disassemble
I say almost because the output contains some annotations like binary file position markers and can't serve directly as input to an assembler, but it's close.