emoose / DQXIS-SDK

Wrapper DLL & SDK for Dragon Quest XI S

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crashes with Microsoft Store version

NikoofDeath opened this issue · comments

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.

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)

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)

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...

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.

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?

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! 🤞

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.