Other Patching Tools

There are other tools besides patches, of course, and some of them might be helpful to you! Here is a chart of other options and an explanation of how they differ/how patches improves or doesn't improve over them.

Other Tool How patches differs
patcherex patches is heavily based on patcherex but tries to improve by using more modern binary modification libraries and offloads more logic
lief patches uses and builds on top of LIEF, which provides the low-level binary manipulation for patches
patchkit Not maintained and depends on IDA, which is not free.
e9patch C API, only supports a limited use case and is more for rewriting instructions than for changing a binary with patches
binch It's a hex editor really, but it looks nice.
binaryninja Not free, but it has a shellcode compiler and a lot of features in patches are inspired by Binja as well as patcherex!

If you want to just patch one binary and you don't need to do anything at scale, the best alternative is probably binaryninja. It has a great UI and you don't need to write much code to get great patches.

If you do want to patch at scale, for example if you need to patch a bunch of binaries in the same way, or you are automatically generating patches, patcherex or patches are your best bets. At the moment, patcherex has a couple features patches doesn't: multiple techniques like detours and reassembling, and it supports more architectures. patches on the other hand is simpler and should be more stable, and handles less of the low level operations itself. patches should also be better at allowing multiple patches to work well together. Finally, patches has a much better shellcode compilation strategy, although you could very easily use squishy with patcherex.