Comment by paavohtl
3 days ago
Yes, quite easily. It requires some setup, but the basic idea is that you create a DLL and a simple loader program which injects it into your target process. You can then use a hooking library like MinHook to replace individual functions with your own implementations. If the target application is in C++, you can additionally do vtable hooking and replace functions even easier (though it will always be a combination of the two techniques).
> the basic idea is that you create a DLL and a simple loader program which injects it into your target process
I believe GTA San Andreas reverse engineering does exactly that using ASI Loader [1].
[1] https://github.com/gta-reversed/gta-reversed
There’s also fun stuff like VEH hooking and SLAT hooking, though SLAT hooks are not very useful in this case.