Attempt to write an semi-automated python patcher. Originally the idea was to automatically figure out what jump instructions need to be patched in order to get to the goodboy function. However this was a total headache. Instead there are two ways to patch the binary.
One finds all the jump instructions, lists them out and allows the user to select which ones to patch
The second uses the --fuzz
flag to try every combination of "jump if equal" and "jump if not equal" commands until it find the combination that leads to the goodboy function.
git clone https://github.com/GeraldHost/py-patcher && cd py-patcher
python -m pypatcher --file=<path_to_binary> --target=<goodboy_offset> --fuzz
Running in normal mode where you have to manually select which jump command to patch
Running with the --fuzz
options enabled where pypatcher will try and fuzz which jump commands need patching to get to
the good boy function