- Joined
- May 30, 2008
- Messages
- 255
- Reaction score
- 7
By kittonkicker
BUG FIX UPDATE! Please test the new version (links updated below) and see if it works.
Hey everyone.
I made this in the hope that the pserver efforts won't die due to excessive checks being added to the client.
It's pretty much the same as my old localhost dll, except that it doesn't remove GameGuard.
The following features are included in this release:
Automatic injection (through npkcrypt.dll).
Windowed mode.
IP redirection.
Port redirection.
Splash screen skipping.
It has the usual KiKi.cfg and has to be placed in the MapleStory directory, overwriting the old npkcrypt.dll (PLEASE BACK IT UP FIRST).
Example .cfg file:
Code:
Enabled=1
RemoveSplashScreen=1
IPRedirect=1
IPAddress=127.0.0.1
Port=8484
Windowed=1
It can also be used solely as a "windower" for MapleStory, by changing IPRedirect to 0.
Any problems, please let me know.
You should be able to use KiPE to log and update any packets from gMS.
Links:
To view the content, you need to sign in or register
To view the content, you need to sign in or register
To view the content, you need to sign in or register
I would upload it to CEF, but the attach stuff seems to be missing completely!?
Just to clarify, all my DLL does is set a hook on connect() and divert to the address specified in the .cfg file.
You can't remove GameGuard (to make it GGLess) anymore... not to the point that it's stable anyway
It's in private server developer's interests to update to this version... they essentially get GameGuard protecting their servers for free
This is a "new" method which bypasses their checks in a different way.
Code:
Code:
int PASCAL FAR Connect::NewConnect(__in SOCKET s, __in const struct sockaddr *name, __in int namelen) {
SOCKADDR_IN* clientService = (SOCKADDR_IN*)name;
unsigned char ipaddress[4];
memcpy(ipaddress,&clientService->sin_addr,4);
switch(*(unsigned*)ipaddress) {
case 0x04d9fb3f:
case 0x03d9fb3f:
case 0x02d9fb3f: {
tools::debugPrint("MapleStory is connecting to the LoginServer... redirecting!");
clientService->sin_addr.s_addr = inet_addr(main::ipAddress);
clientService->sin_port = ntohs(main:ort);
}
}
return connect(s,name,namelen);
}
As you can see, all it does is change the IP if the client tries to connect to any of the 3 login servers.
Again kiki made us proud
_________________