Skip to content

Repository files navigation

FusionSteamDebug

Unfortunately, it is not possible out of the box to attach a working debugger to applications that Steam launches because Steam injects a ThreadHideFromDebugger payload into it's applications (you can still attach the debugger but pretty much nothing works; hitting breakpoints and the like will crash the program). This is a problem for Clickteam Fusion extension developers who only own the Steam version of Fusion as this makes them unable to debug their own extensions.

In response to this, I wrote a simple proxy DLL that intercepts oleacc.dll (randomly chosen DLL Fusion happens to link against) and, inside DllMain, proxys ZwSetInformationThread to ignore calls with the ThreadHideFromDebugger (0x11) flag. This works because thankfully Windows loads all DLLs that a program links against first before even calling the program's main function, miraculously ensuring that I can hijack ZwSetInformationThread before Steam even touches it!

Usage

Drop the DLL in Fusion's root directory (where mmf2u.exe should be), thats it :)

License

Use however you please.

Credits

This project uses DetourXS by Dominic Tobias. Thank you for your work!

About

Proxy DLL to bypass Steam's ThreadHideFromDebugger injection for Clickteam Fusion ext edittime debugging

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages