What you're wanting to do used to be called 'object-level patching'. Depending on the machine the code was written for, there should be some kind of dis-assembler available which would allow you to decode the executable back into assembler code. N.B., this is NOT a trivial pursuit. Have done this on IBM mainframe system, and it can be either fun or incredibly tedious, depending on one's peculiar bent of mind.