Add dxgi to the proxy export list#103
Open
HetCreep wants to merge 1 commit into
Open
Conversation
Some Unity 6 IL2CPP games (e.g. DMM titles) touch winhttp early enough that the winhttp proxy host fails to launch them, but they import dxgi too. Forwarding the dxgi exports lets the same proxy work when renamed to dxgi.dll, giving those games a working host. Additive: other hosts are unaffected. Refs NeighTools#102.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds the public
dxgi.dllexports (CreateDXGIFactory,CreateDXGIFactory1,CreateDXGIFactory2,DXGIDeclareAdapterRemovalSupport,DXGIGetDebugInterface1) toproxylist.txtso the proxy also works when renamed todxgi.dll.Why
Some Unity 6 IL2CPP games - DMM titles especially - touch winhttp very early (their own networking/DRM), and with the
winhttp.dllproxy host they silently fail to launch (#102). Those games importdxgi.dlltoo, sodxgi.dllis a clean alternative host - but the proxy currently exports no dxgi functions, so renaming it todxgi.dllleaves the game unable to resolveCreateDXGIFactory*and it crashes on startup.The proxy already picks its real host by its own filename (
proxy.h->system32\<name>.dll), so asdxgi.dllit forwards to the system dxgi correctly - only the export list was missing.Testing
dxgi.dll, and launched Princess Connect! Re:Dive (DMM, Unity 6000.0.58f2, IL2CPP) with it: the game starts and BepInEx bootstraps, whereas thewinhttp.dllhost silently fails to launch the same game.Additive only -
winhttp.dll/version.dllare unaffected (they just carry a few extra unused exports, the same way winhttp and version already share one list).Refs #102