Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Windows 8/8.1/10 Client Support Fix

Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
my "fix" is more or less client/library/os documentation regarding the issue and where the source of it lies. also, there's 2 primary issues with older clients and modern os's: 1) DirectInput (invalid parameter), and 2) PEB header issue (process hang/crash).

my tutorial explains one way to bypass the apiloader checks, which will allow yourself to inject custom dinput8 dll's into your client rather than loading the original. alternatively, the better way to do this is by using winapi hooks. however, the dinput8 dll itself won't fix the issue, you need to hook dinput8 functions as well so that you can fix the source of the error and never return an invalid value back to the client.

as for the hanging issue, i also explained that the source of the issue comes from checks in CWvsApp::SetUp (invalid peb headers across os's). however, the checks are ignored if you never hide any of the dll's (via HideDll). so, if you use aobs to find yourself the HideDll function and modify the initial instruction to force return (retn), it'll ignore the checks below it's call in CWvsApp::SetUp. since CWvsApp::SetUp is vmed heavily, finding HideDll is the better option. if you have a unvmed localhost, then you can go ahead and just nop the function (and even the checks) inside of CWvsApp::SetUp and be done. usually this isn't the case though. this as well can be done by injecting your custom dinput8.dll into the client and writing to the process memory, just find the address itself from a unpack/mem dump in IDA.
 
Upvote 0
Newbie Spellweaver
Joined
Oct 21, 2017
Messages
71
Reaction score
0
my "fix" is more or less client/library/os documentation regarding the issue and where the source of it lies. also, there's 2 primary issues with older clients and modern os's: 1) DirectInput (invalid parameter), and 2) PEB header issue (process hang/crash).

my tutorial explains one way to bypass the apiloader checks, which will allow yourself to inject custom dinput8 dll's into your client rather than loading the original. alternatively, the better way to do this is by using winapi hooks. however, the dinput8 dll itself won't fix the issue, you need to hook dinput8 functions as well so that you can fix the source of the error and never return an invalid value back to the client.

as for the hanging issue, i also explained that the source of the issue comes from checks in CWvsApp::SetUp (invalid peb headers across os's). however, the checks are ignored if you never hide any of the dll's (via HideDll). so, if you use aobs to find yourself the HideDll function and modify the initial instruction to force return (retn), it'll ignore the checks below it's call in CWvsApp::SetUp. since CWvsApp::SetUp is vmed heavily, finding HideDll is the better option. if you have a unvmed localhost, then you can go ahead and just nop the function (and even the checks) inside of CWvsApp::SetUp and be done. usually this isn't the case though. this as well can be done by injecting your custom dinput8.dll into the client and writing to the process memory, just find the address itself from a unpack/mem dump in IDA.
Thank you very much for the help and more from you!
I do not really understand about IDADo you have any idea where I can get a client ready?I do not really understand how to do it.
Is there a guide to this or client ready?
 
Upvote 0
Initiate Mage
Joined
Jul 31, 2018
Messages
1
Reaction score
1
why ask 4 help when u cant fix poop urself n why nt continue using ur maplelegend launcher fr ur server MR GANJA??????
MR GANJA U R SO GOOD!! GOOD AT STEALING OTHER SERVER FILES !!!! TEACH MI HOW U STEAL SERVER FILES SENPAI
 
Upvote 0
Back
Top