While creating mods for Sid Meier's Pirates!, I found it very frustrating to try to make substantial changes to the game's executable using IDA Pro because the built-in assembler is very limited and can only assemble one instruction at a time, and if you make a mistake you may have to type the whole program again from scratch! Furthermore, the free hex editors for Windows tend to be buggy, and typing machine code into a hex editor is error-prone. So I created a basic assembly IDE to help me write mods and patch executables, called ExePatch. I didn't expect to release it, but I thought it might be helpful for others.
In lieu of a long text introduction, I'll just embed the tutorial video.
Download tutorial video: ExePatchTut.avi (15.1MB, but the YouTube video is better because I've corrected some errors via annotations.)
Download ExePatch: ExePatch.zip (version 1.1, or get the source code)
Comments
The assembly source, that is? Ctrl+S to save it to a file. The tab is automatically saved between sessions.
> patch IDA databases
Well, it's an OllyDbg plugin. What is there to patch in an IDA database?
In general, it allows you to patch the commands into the memory of the debugged process, and OllyDbg allows you to save modifications to file.
> What is there to patch in an IDA database?
It imports the executable into the database, so changing the .exe on disk can cause them to get out of sync, which can cause unexpected behavior if you try to debug it using IDA, etc. Plus, importing changes into IDA is a good way to check that they look alright and mesh with the surrounding code.