.: Introducing ExePatch | 2014-03-17 01:30AM :.
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.Comments
In lieu of a long text introduction, I'll just embed the tutorial video.
.: Cool, but have you tried Multiline Ultimate Assembler? | 2015-03-27 12:12PM :.
Seems like the perfect tool for your task.
an anonymous Paul
.: RE: Multiline Ultimate Assembler | 2015-03-27 09:30PM :.
It's a similar tool, but it seems very rudimentary. It only has one button: Assemble. It doesn't appear to be able to save the source, patch IDA databases, etc.
.: RE: RE: Multiline Ultimate Assembler | 2015-03-28 04:55AM :.
> It doesn't appear to be able to save the source
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.
an anonymous Paul
.: RE: Multiline Ultimate Assembler | 2015-03-28 11:53PM :.
Well it seems like a decent tool for OllyDbg, but I usually use IDA since it has a lot more features to aid understanding of large programs.
> 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.