Small C# binary file patcher utility.
The interesting bit is the byte pattern based search and replace.
Should handle file sizes up to 2GB, and is really fast.
(A lot less fast, while making patch patterns, and only handles files of a few hundred megabytes.)
(Created for educational porpoises.)
Notes:
Pattern format is like in 010 Editor, but Cheat Engine AOBScan format is also accepted.
Replace is also a pattern, like search.
Offset means the offset compared to the beginning location, of where the pattern is found.
Offset can be negative, and is in base 10, while the patterns are in base 16.
Extra (hidden) features:
Has experimental, memory based pattern replace feature.
Compile for 64 bits, and it will work with 64 bit processes.
(Can also patch itself to 64 bit. Just run self_to_64.bat in the Release directory. :) )
Writing "proc:" in to the file field, will bring up the process list window.
Leaving the replace field empty, will allow you to use the Locate feature.
Based on:
PE file header stuff: http://sandsprite.com/CodeStuff/PEOFFSETCALC.cs
BeaEngineCS: https://github.com/carterjones/beaengine-cs
Using:
BeaEngine: disassembler library for x86 x86-64 (IA32 and Intel64)
http://www.beaengine.org/
Notes:
Have BeaEngineCS(64).dll (and BeaEngineCheetah(64).dll as well of course) in the folder, to use it's disassembly based address masking features, when creating a difference based patch with the "m" command line option. It will make the process MUCH slower.
License:
LGPL (http://wikipedia.org/wiki/GNU_Lesser_General_Public_License)