Recently, I've read an article and wanted to replicate in alternative and simpler way which uses Minhook within the hooking process. In addition, the original repository made 4 years prior from now, and some of the syntax and libraries it uses are no longer valid, that's also the reason I made this. all credits goes to big brain @aixxe and article, not me.
Basically, this technique abuses overlay feature in Steam and it allows you to render anything in completely invisible state on your stream. This way you can stream any hacky stuff without letting viewers know that you're cheating.
Run following code to build this project with cmake.
$ git clone --recursive https://github.com/s3pt3mb3r/SecretiveRendering.git
$ cd SecretiveRendering
$ mkdir build && cd build
$ cmake .. -A Win32
$ cmake --build .
Fire up the dll injector and inject the generated dll to the game. (e.g. CSGO) Make sure the particular process uses DirectX9.
LEFT: OBS window | RIGHT: actual game window
You don't see hack menu at all on OBS, do you?
Please note that this is just a simplest example of hiding hack from streaming, thus you need to implement this on your hack by yourself.