ok, so basically there is no way to edit a .exe file? i thought maybe there was a way the code could be translated to java or pseudocode or something

Click to expand...

To edit an exe file, you'd need to use a disassembler and know the assembly language.

There are various ways in which an exe can be moved into something higher than assembly, but they're usually either:
* Really hard to do, and not much easier to read than the assembly; or
* Total cheats, and exactly as hard to follow as the assembly.

You can use a disassembler to help you decode the machine-level instructions, but that's about it. AFAIK, there is currently no way to reliably and automatically reverse-engineer machine code to a high-level language; it's a much more complex problem than you might think.

AFAIK, there is currently no way to reliably and automatically reverse-engineer machine code to a high-level language; it's a much more complex problem than you might think.

Click to expand...

Yep. You can imagine storing the executable in an array, dereferencing, and jumping to that point -- any strong enough language (C/C++ not FORTRAN or Java, though C# could do it in unsafe mode) should be able to do that, but it's hardly understandable. Likewise, you could imagine turning a few commands into basic C commands and leaving the rest in asm blocks -- but that's no better either.

A sufficiently unstructured language could probably be a target for the disassembled code, but it would be nearly impossible to read -- all GOTOs and weird pointer math.