Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashes with Microsoft Store version #9

Open
NikoofDeath opened this issue Mar 8, 2021 · 7 comments
Open

Crashes with Microsoft Store version #9

NikoofDeath opened this issue Mar 8, 2021 · 7 comments

Comments

@NikoofDeath
Copy link

With the microsoft store version (installed manually to avoid encryption), I can't get the wrapper to work. When installed as xinput1_3.dll, the wrapper doesn't load at all, and when installed as dxgi.dll, I get "The UE4-JackGame Game has crashed and will close: Fatal error!". I assume there's elements that rely on exe specific elements or something that is getting in the way or something like that? I can debug if needed.

@emoose
Copy link
Owner

emoose commented Mar 8, 2021

Ah yeah I guess the store EXE must be too different from the Steam version I've been working with, if you know where I can get the store EXE (or could upload it somewhere) I could try porting things over to it for you to test with? (my email is on my GH profile page if you don't want to post publicly)

@mike9k1
Copy link
Contributor

mike9k1 commented Mar 8, 2021

You can't install the .dll on a legitimate MS Store copy due to the DRM -- https://i.imgur.com/V7Kw28x.png

Changing the addresses that are hooked will only work for pirated copies, unless we can figure out a more reliable setup that can circumvent the tamper-prevention. (maybe some sort of injection at runtime? -- https://www.pcgamingwiki.com/wiki/Store:Microsoft_Store)

@emoose
Copy link
Owner

emoose commented Mar 8, 2021

Runtime injection might work, at least I remember being able to inject stuff into UWP games fine a few years ago, hopefully they haven't changed anything to break it since then.

Might need to change a few things in DQXIS-SDK for it to work as an injectable DLL though, since it's only really written as a wrapper DLL atm (maybe it'll already work fine though, for the Steam version at least...)

Still likely need to update offsets for the store EXE though, but maybe comparing Steam exe against UWP one could let us make it use AoBs/byte patterns instead, could help future-proof it against any later updates too...

@NikoofDeath
Copy link
Author

Ah yeah I guess the store EXE must be too different from the Steam version I've been working with, if you know where I can get the store EXE (or could upload it somewhere) I could try porting things over to it for you to test with? (my email is on my GH profile page if you don't want to post publicly)

Here's the MS Store exe https://www30.zippyshare.com/v/6sOuMaLW/file.html. Might be hard to compare due to steam version having denuvo and ms store version not.

@emoose
Copy link
Owner

emoose commented Mar 8, 2021

Might be hard to compare due to steam version having denuvo and ms store version not.

Thanks! Interesting, didn't know MS store version was without Denuvo... would probably be a lot easier to analyze/disassemble than the denuvo-infested Steam version I've been using, will have to get hold of that version some time (almost no chance SQEX will remove Denuvo from the Steam ver ;_;)

I'll take a look at it shortly, will reply here once I figure out what can be ported over.

E: btw, do you know if this is the latest MS store version? This has an Oct 2020 timestamp while the Steam version is from Dec 2020, did they just not bother updating MS store or something?

@mike9k1
Copy link
Contributor

mike9k1 commented Mar 9, 2021

Runtime injection might work, at least I remember being able to inject stuff into UWP games fine a few years ago, hopefully they haven't changed anything to break it since then.

Might need to change a few things in DQXIS-SDK for it to work as an injectable DLL though, since it's only really written as a wrapper DLL atm (maybe it'll already work fine though, for the Steam version at least...)

It'd be great if it's possible. Might be a start to make mods available on the MS Store version (Personally, i've wondered about some sort of virtual drive / mountpoint / directory symlink setup before. But it's difficult when you're short on people to test) -- we've had an awful lot of disappointed Gamepass / MS Store users when they realized they couldn't install mods.

Fingers crossed! 🤞

@emoose
Copy link
Owner

emoose commented Mar 11, 2021

The new 0.6.5 release should hopefully have support for MS Store version now, everything should be ported over fine I hope :) (at least for the Oct 2020 build that was linked, no idea if there's anything newer?)

I haven't looked into allowing it to be injectable yet though, I'd guess that it should already mostly work fine when injected, except maybe dev-console won't unlock as the function hooked for that is only ran on game startup (could probably be worked around by searching for the UGameViewportClient class instead) Pak-file stuff also likely won't be much use neither since the game would have already loaded in by the time the DLL is injected.
I dunno how DQXIS-SDK.ini file should be handled when injected neither, maybe I could make it check the games config folder, hm...

(of course if you're able to use it as a wrapper like mentioned in OP then that's no problem though, just mentioning it for any others that want to use this with MS Store ver)

E: latest 0.6.7 release should now be injectable, more info at #11

E2: ah crap, theres one spot I accidentally left hard-coded for Steam ver, latest 0.6.8 release should have it fixed now though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants