Look into using Mono.Cecil to do edits to your hack before it is fully loaded. You could create a loader to load your actual hack, alter it with Mono.Cecil, then fully load it after it has been edited to your liking. This also prevents your hack from having to be modified on disk leaving the original binary untouched.