A .exe file is a compiled program, in order to make any changes to it you would need the development files. Example: A computer programmer builds a program to run on any machine using Visual Basic, as it's being devoloped in Visual Basic, the programmer may need to compile the program to test it out on other machines or release beta versions. After a program is compiled, it cannot be modified without the original Visual Basic files. Open Source communities frown on this, but that is how it works.
It is a compiled program, however if you're just wanting to change images and in some cases dialogs / messages that is possible, and it's even possible with php. It depends what sort of exe and what sort of content you want to edit, in most cases it's not really possible to change the code inside of an executable, resources yeah, code no ( except sometimes delphi, not that I have ever done it, but know that delphi stores things differently in some cases and you can edit methods ) I wrote a program to pack php into windows executables independant of a php installation, and it does exactly that, edit an exes content, the exe is ( now ) custom built by me and linked to a library with php functions in it, but you can control the contents of the exe, even after the initial packing of it. http://krakjoe.com/projects/phpCompile ( php4.4.4, someone elses stub, small with few features and quite old now, that's a php application and my first attempt at a phpCompile program ) http://krakjoe.com/blog/phpCompile-Beta-php5 ( built yesterday [ took ages to make ], php5.2.1 with 30 odd extensions including libxml, again a php application, second attempt much better this time [ better php, better operation ], has a long way to go before I write a gui, hopefully someone else will do it for me !! ) Please don't comment on the name phpCompile, I'm fully aware it doens't compile anything, the first class had phpCompile wrote at the top because that's what I wanted to do about 6 months ago, and I'm too stubborn to change the name, really it shouldn't have php in the title at all but I don't care, I'm not a creative person, and in lamens terms it turns php 2 exe, which most people would reffer to as "compile" ( thought I might get good results on google, I didn't ).
EXE program can be deassembled to assembly programs, if you are very good at it, you can understand tens of thousands of lines of it and then modify and recompile the code to get a modified EXE version. Alternatively you can hire some real good experts in assembly language. Check below.
Most windows executables contain text and binary data, also called resources, they are parts of the executable where icons, bitmaps, and the text is stored. In most cases, they can be relatively safely changed, provided that your new resource is not bigger than the old resource, i.e. new text string is not longer than the old one. There are quire a few resource editors on the web, free to download. On the other hand, any program code in such executables is usually hard to change. Actually, any working change is very hard. That's what hackers do when they crack the code, etc. Besides that, those exes are huge and finding anything in them may easily take days if not weeks of looking through the code. Nowadays more and more executables are made for and with the .NET framework. These are easier to decompile, since the .net executable is actually done as p-code, also called intermediate language, or IL. Which means it's like java - half way to an actual binary format. There are bunch of tools out there also, and some of them free, that completely disassemble that .net code into a fully readable and compilable source code. It's funny, sometimes the decompiled source code is even cleaner than the original...