DotNetHook

How it works?

Protection hooks methods, as a result, will call empty methods but, in fact, a completely different method will be called (the original one).