My two cents: if you need to instrument native Windows applications, including Win32 and COM, my company develops three mature GPLv3 libs:<p>1&#x2F; Deviare In-Proc (like Microsoft Detours): <a href="https:&#x2F;&#x2F;github.com&#x2F;nektra&#x2F;Deviare-InProc" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nektra&#x2F;Deviare-InProc</a><p>2&#x2F; Deviare Hooking Engine (even novices can instrument apps): <a href="https:&#x2F;&#x2F;github.com&#x2F;nektra&#x2F;Deviare2" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nektra&#x2F;Deviare2</a><p>3&#x2F; RemoteBridge (access internal COM and Java apps) <a href="https:&#x2F;&#x2F;github.com&#x2F;nektra&#x2F;RemoteBridge" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nektra&#x2F;RemoteBridge</a><p>All these libs include examples and there are additional use cases in our blog <a href="http:&#x2F;&#x2F;blog.nektra.com" rel="nofollow">http:&#x2F;&#x2F;blog.nektra.com</a>