Here it goes. A detailed blog on proxying your DLL loads and hiding the original callstack from userland hooks/ETW with a new set of undocumented API and some hacky tricks. Code is on my Github repository. This one was a brain buster 🔥
0xdarkvortex.dev/proxying-dll-l
Conversation
And the PIC shellcode will crash if you exceed the stack limit and the _chkstk routine doesnt exist. I have explicitly tested it during my shellcode development for brc4.
1
1
I have no idea if _chkstk can be inlined with gcc. Thats news to me. Can you provide some docs on how to do it?
1
1
Yep. It might be specific to mingw as I havent explicitly tested it with clang. Things work a lot differently with clang. And the clang libraries use _chkstk, __chkstk,___chkstk and a few more weird routines for this which are more confusing.
1
And yes. In Mingw GCC LLVM, you cannot diable chkstk stack probing. Only Clang supports it

