GameGuard Emulation

05/05/2009 07:45 zer0s#1
I found this tutorial...
and i just want to share this..

This will give you an idea on how to bypass gameguard.

All credits goes to Sexy Romanian SunBeam

Hey guys

Here is a TuT How To do/make a Server Emulation

This will NOT make patched wallhacks unpatched!!!


1. History
----------

This method of "defeating" GameGuard came to life in 2001-2002. The first game ever having this protection was and still is - MU Online. The ideea of making a server that would "update" GameGuard with old files was commonly used at that time. People simply updated the tutorial and used it on other games that received GameGuard's "blessing". Which brings us to these days.

GameGuard uses a module that determines speed of transfer and checks if updates for any of its modules are available. If yes, the update begins, the modules are re-initialised, then launched and the game starts.

Formerly, the tutorial stated that in order to achieve server emulation, one needed to know what GameGuard "tells" the server. In simpler terms, where does GameGuard update from and what is the server's structure. Using a simple firewall, one can find the site, but can't determine the server directory from which GameGuard updates. For that I think I've heard something about a program called Ethereal which caught packets upon send. But it seems, GameGuard's packets are also encrypted nowadays.


2. Why emulating GameGuard ?
-----------------------------

First of all, emulation isn't only used for the purpose of hacking. Why am I saying this ? Well, if you are having a dial-up connection and want to play the game, the simple fact of having GameGuard connect to its server will slow you load-up times drasticaly. I also noticed that when I installed GunBound Philippines Service and tried to play, GameGuard wouldn't want to connect. It simply froze and I had to wait like 10 minutes only for the update process, let alone re-initialisation. Well, if you want to play GPS from a far country, connection problems appear. Same goes for MapleStory Global. Back in the days when GameGuard would CRC the game's files, my connection got closed upon entering the game. This is the good part of the emulation.

Emulating will also allow one user to use obsolete|detected hacks, by simply downgrading the protection modules [reverting to old revision files].

NOTE : GameGuard files have a period of life-time. So, when the regular modules are at revision 7xx and you are trying to use 4xx ones, your GameGuard.des might not recognize them and end up in the common known error : "GameGuard.des was not found". That can be overcome, if you manage to make GameGuard.des not check for the digital signature of the files .


3. Knowledge is power
---------------------

In order to achieve emulation, you need to know certain facts of the "trade".

First of all, GameGuard uses two keys to decrypt the game's .ini. The same decryption keys are used to parse update.cfg [what is update.cfg ? - the file that contains all the info regarding GameGuard's modules - such as : CRC, version, command lines etc. - and that file, in case you wonder, is stored and read from iNCA's servers and can also be downloaded]

Those two keys are located at the end of each file. So, basically all of GameGuard's modules are digitally signed. Open any of the .des files with a hex editor and look at the very end of the file. You'll see the two keys :

Quote:
!&.2 = 32812621
"&.2 = 32812622

Using those keys, and knowing what the public decryption key is, GameGuard is able to read the content of the encrypted files.

Second of all, if you read the tutorial till here, you noticed that I say "nowadays GameGuard uses encryption on its own packets". Well, knowing the used keys, and the public RSA key, you can simply decrypt the .ini|.cfg and read the whole server information GameGuard requests on launch and when it tries to update.


4. Setting up
-------------

As I earlier said, it's very easy to emulate the protection, once you know what you have to do. Having the .ini file decrypted, you will be able to know :

* server IP
* server path [the directory on the server where the update files are located]
* backup server [usually, iNCA used a backup server if any problems appered with the primary server]
* backup path [when backup server was used, a path was also required]

Currently, for MapleStory Global, the game's .ini [MapleStoryUS.ini] in its decrypted format is as follows :

Quote:
[GAMEMON]
GAME_NAME=MapleStoryUS
UPDATE_SERVER=gameguard.mapleglobal.com
UPDATE_PATH=/nProtect/GameGuard/RealServer/
BACKUP_SERVER=72.5.148.122
BACKUP_PATH=/nProtect/GameGuard/RealServer/
OPTION_VALUE=0
SPEEDCHECK_INTERVAL=1000
SENDERL=1
GAMECRC=0
USE_DRV=1
REVISION=47
What can we learn from this ?

1. The primary update server is : gameguard.mapleglobal.com
2. The primary server path where the files are stored is : /nProtect/GameGuard/RealServer/
3. The secondary [backup] server is : 72.5.148.122
4. The secondary path : /nProtect/GameGuard/RealServer/

Also, there are some other options GameGuard checks : for connection speed once in 1000 ms, CRC on the game's files is disabled as you can see GAMECRC=0 and it also checks for the revision indicative REVISION=47.

If you ever wondered how we obtained old revision files for GameGuard, now you know the answer. For those who are retarded, try this :

*ttp://UPDATE_SERVERUPDATE_PATHFILE_NAME

as in for example :
*ttp://gameguard.mapleglobal.com/nProtect/GameGuard/RealServer/update.cfg

You can change the update.cfg at the end with any of the .npz files [GameMon.npz, NPSCAN.npz, etc...] This is the way to download revision files...


5. Emulating
------------

For that you'll most likely be needing an emulation server. Apache can do that for you by simply installing it.

Once you do that, the local server path will be in the htdocs folder. That is what we'll use for UPDATE_SERVER.

We will need to create the UPDATE_PATH : /nProtect/GameGuard/RealServer/. So, in htdocs, you'll need to create that directory tree. Simply create a folder and name it "nProtect", enter that folder and create another one called "GameGuard". In GameGuard folder create "RealServer".

Once UPDATE_PATH is set, we'll need the revision files. For that use any revision files you want - old, new - and put them in that folder [RealServer]

Ok, we set up our server, now let's make GameGuard connect to it. In order to achieve this, you need to edit the hosts file, located in WINDOWS/system32/drivers/etc. Once you get there, you will find the file. Open it with Notepad and add the following :

Quote:
127.0.0.1 gameguard.mapleglobal.com
127.0.0.1 72.5.148.122

the save the file. Reffer to NOTE #2 below for what you MUST do once you saved your file.

What can we learn from this ?

1. 127.0.0.1 = the local server as in your computer; that is the default IP for your computer's ID
2. The syntax "127.0.0.1 gameguard.mapleglobal.com" is identical to this : once your computer tries to contact gameguard.mapleglobal.com, it will be redirected to 127.0.0.1; same goes for the other IP
3. Why add both IPs, and not only "gameguard.mapleglobal.com" ? Because we want to make a full emulation, and then not wonder why it still connects to the real server instead of ours. Capisci ? That's the reason people fail to do emulation and say it's patched. Because they add only one IP and don't cover all the "holes"

NOTE :

1. I hope you noticed that UPDATE_PATH and BACKUP_PATH are identical. In GunBound, for example, they are different and to make a full emulation, you also need to add the BACKUP_PATH in htdocs.
2. GameGuard can detect if the update server is changed. And if that happens, it will change the data you wrote in the hosts file. For that not to happen simply change file attributes to Read-only (For stupid people : right-click the file, Properties, tick Read-only)


That covers it all. Once you do all I said here, you shouldn't have problems with your emulation and everything will work just fine. Am waiting for questions and for suggestions on updating this tutorial. Note that I won't update it with stupid data such as : go to this folder and do that and so on...

This tutorial is general, and should be enough for you to achieve emulation


Credits To:

The Sexy Romanian SunBeam
05/05/2009 12:45 raxell15#2
nice info
05/05/2009 17:53 jokin2217#3
galing...mo hehe..
05/05/2009 19:44 nikonix04#4
Quote:
Originally Posted by jokin2217 View Post
galing...mo hehe..
kua paturo nmn to YM ko [Only registered and activated users can see links. Click Here To Register...]
05/06/2009 02:14 hisuka241#5
yup this topic belong to sunbeam at mpc forum posted april 2006

ahahahahahaha!
05/06/2009 03:13 genufuk#6
pwd e attach na lng yung host file pwd?
05/06/2009 04:30 zer0s#7
akalain muh nag post din c kyle12 n2?
aba.. copy paste? sakto ung msg ko sa intro
05/06/2009 12:34 hisuka241#8
Quote:
Originally Posted by zer0s View Post
akalain muh nag post din c kyle12 n2?
aba.. copy paste? sakto ung msg ko sa intro
ano pa ba maasahan mo kay kyle

basura nmn un eh
05/06/2009 19:23 freeplanet#9
ang kapal ng muka ng Kyle12 na yun... alam naman nya na basura lang ang turing sa kanya dito.. post pa ng post... masyadong bilib sa sarili.. stupidd tigas ng muka.
05/06/2009 22:28 Night Dragon#10
Translation please?

Also, I noticed that this is posted under the Soldier Front section and in the tut you keep referring to Maple XD
Will this work with any other game? Such as Rappelz which has proven notoriously difficult to bot again?
05/06/2009 23:03 trane.#11
it should work for all games as it's GAMEGUARD bypass and gg is always same:rolleyes:
05/07/2009 05:09 zer0s#12
Quote:
Originally Posted by Night Dragon View Post
Translation please?

Also, I noticed that this is posted under the Soldier Front section and in the tut you keep referring to Maple XD
Will this work with any other game? Such as Rappelz which has proven notoriously difficult to bot again?
this is just an example how to emulate gameguard..
so that you will know the logic on how to emulate..
i posted it here for us to learn and apply it to soldier front... :mofo:
12/21/2012 14:17 cypherxxl#13
Hm this dont work enymore i think.

Do all my users have to do this with his host file, if he wanna play on my Server?
12/21/2012 15:09 jawtee23#14
#this is already ancient thread

GameGuard for PSF is already not working since march or june 2012

#close thread request