Important information: this site is currently scheduled to go offline indefinitely by end of the year.

[Request] Guild Wars 2 DAT

The Original Forum. Game archives, full of resources. How to open them? Get help here.
BobSaget
beginner
Posts: 20
Joined: Fri Mar 23, 2012 1:17 am
Been thanked: 1 time

Re: [Request] Guild Wars 2 DAT

Post by BobSaget »

Any progress on this? and also has anyone managed to download a single file from http://assetcdn.101.arenanetworks.com/ ?
BobSaget
beginner
Posts: 20
Joined: Fri Mar 23, 2012 1:17 am
Been thanked: 1 time

Re: [Request] Guild Wars 2 DAT

Post by BobSaget »

You can edit existing tools for GW1 to extract files from the uncompressed gw2stream.dat, but only the uncompressed one atm.

Header size has gone from 32 -> 40;

// Header of the Gw2Stream.dat
struct Header {
unsigned char ID[4];
int HeaderSize;
unsigned char Unk0[4]; // Difference GW1 -> GW2
int SectorSize;
int CRC;
__int64 MFTOffset;
int MFTSize;
int Flags;
};
Nimba
beginner
Posts: 38
Joined: Wed Mar 07, 2012 8:32 pm
Been thanked: 14 times

Re: [Request] Guild Wars 2 DAT

Post by Nimba »

BobSaget wrote:You can edit existing tools for GW1 to extract files from the uncompressed gw2stream.dat, but only the uncompressed one atm.

Header size has gone from 32 -> 40;

// Header of the Gw2Stream.dat
struct Header {
unsigned char ID[4];
int HeaderSize;
unsigned char Unk0[4]; // Difference GW1 -> GW2
int SectorSize;
int CRC;
__int64 MFTOffset;
int MFTSize;
int Flags;
};
Logically, the way that the patcher adds files to the DAT file, it should work with the compressed version. Since the files are compressed individually, not the entire archive.

So maybe I don't know enough about this, but it should work for the compressed version, the difference is that it will extract compressed versions of the files, instead of uncompressed.

But I personally haven't done too much work with reverse engineering things, and I am not familiar with a lot of this stuff, so I am just tyring to help as best I can. Hopefully those more knowledgeable will chip in more. (i mean i understand all this, i just wouldnt know where to begin on how to decipher header information and file structures.)
Nimba
beginner
Posts: 38
Joined: Wed Mar 07, 2012 8:32 pm
Been thanked: 14 times

Re: [Request] Guild Wars 2 DAT

Post by Nimba »

BobSaget wrote:Any progress on this? and also has anyone managed to download a single file from http://assetcdn.101.arenanetworks.com/ ?
Also in response to this. I have. I even wrote some code to read the manifest and download the files in order, uncompressed. You need a cookie that is in the Patcher (in plain text) in order for the link to let you download. ALSO its assetcdn.102 not 101

Aside from the cookie, all the info to download from the CDN is posted in my earlier posts.
ItsmeJC
ultra-n00b
Posts: 5
Joined: Thu Apr 30, 2009 12:40 am

Re: [Request] Guild Wars 2 DAT

Post by ItsmeJC »

Nimba wrote:ALSO its assetcdn.102 not 101
101=Beta Client
102=Dev Client
103=Alternate
104=Alternate

The dat and binary are not compatible between them.
Nimba
beginner
Posts: 38
Joined: Wed Mar 07, 2012 8:32 pm
Been thanked: 14 times

Re: [Request] Guild Wars 2 DAT

Post by Nimba »

ItsmeJC wrote:
Nimba wrote:ALSO its assetcdn.102 not 101
101=Beta Client
102=Dev Client
103=Alternate
104=Alternate

The dat and binary are not compatible between them.
Oh wow, this I did not know. I believe the Dev Client is being phased out for the Beta one, as that will most likely have the newer filestructures and other stuff.

Hmm, well then the stuff I said earlier might not apply 100%. I don't have the Beta client to test.
Nimba
beginner
Posts: 38
Joined: Wed Mar 07, 2012 8:32 pm
Been thanked: 14 times

Re: [Request] Guild Wars 2 DAT

Post by Nimba »

For those that want to get the different clients:

assetcdn.{#}.arenanetworks.com
get /latest/{#}

It will be in this format (not sure what the other file is, just has some languages listed):

Code: Select all

build# EXEfileNum EXEfileSize otherFileNum otherFileSize
with the file info, query for the files.

/program/{#}/0/0/{EXEfileNum}

That should download a file with the size of {EXEFileSize}. Rename it whatever you want, I named mine Gw2Dev.exe or Gw2Beta.exe depending on which one it is.

Thats it, you now have the patchers for whichever you want.

{#} is the type. As stated by ItsmeJC
101 = Beta Client
102 = Dev Client
103 = Alternate
104 = Alternate
mqltglea
ultra-n00b
Posts: 2
Joined: Sun Mar 25, 2012 12:10 am
Has thanked: 1 time

Re: [Request] Guild Wars 2 DAT

Post by mqltglea »

I've been interested in trying to analyze the GW2 data for a while, but haven't had access to the client. If anyone cares to PM me I'd appreciate it and hopefully be able to contribute.
BobSaget
beginner
Posts: 20
Joined: Fri Mar 23, 2012 1:17 am
Been thanked: 1 time

Re: [Request] Guild Wars 2 DAT

Post by BobSaget »

Here is the dl link for the current gw2 beta.

http://www.sendspace.com/file/irw7zc
Nimba
beginner
Posts: 38
Joined: Wed Mar 07, 2012 8:32 pm
Been thanked: 14 times

Re: [Request] Guild Wars 2 DAT

Post by Nimba »

Actually, I PMed this to mqltglea, but then decided that I will release it public.

This is the Python script I wrote that will query for the LATEST build, and pull the EXE for that build. Meaning you can always get the latest build from whichever branch you want.

Usage:

Code: Select all

python gw2initializer.py {#}
the {#} is the codes we posted above, 101, 102, 103, 104. Only 101 and 102 are of any importance atm. Once you get the EXE, run the EXE and it will download the rest of the client.

There is almost 0 error handling, so if you get errors, make sure you are entering the right numbers. If you dont enter the number, it will just error.

This should get people started. It willd ownload things into the current directory of the script in specific folders, if you download them all, this is how the folder will look:

gw2intializer.py
Beta\Gw2Beta.exe
Dev\Gw2Dev.exe
Alternate103\Gw2Branch103.exe
Alternate104\Gw2Branch104.exe

Keep that in mind when running it.

THIS SCRIPT REQUIRES PYTHON 3.x, PREFERABLY PYTHON 3.2!!!!!
gw2initializer.zip
You do not have the required permissions to view the files attached to this post.
Last edited by Nimba on Sun Mar 25, 2012 9:02 am, edited 1 time in total.
BobSaget
beginner
Posts: 20
Joined: Fri Mar 23, 2012 1:17 am
Been thanked: 1 time

Re: [Request] Guild Wars 2 DAT

Post by BobSaget »

People should already know this but if they want the script to work they will have to download the numpy module. This is especially usefull for those using the 64bit python.

http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
mqltglea
ultra-n00b
Posts: 2
Joined: Sun Mar 25, 2012 12:10 am
Has thanked: 1 time

Re: [Request] Guild Wars 2 DAT

Post by mqltglea »

BobSaget wrote:People should already know this but if they want the script to work they will have to download the numpy module. This is especially usefull for those using the 64bit python.

http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
I just took out the dependency. I didn't see numpy getting used anywhere. I also had to change a backslash to a forward slash, but I'm on a mac atm, so that could have been the cause.
Nimba
beginner
Posts: 38
Joined: Wed Mar 07, 2012 8:32 pm
Been thanked: 14 times

Re: [Request] Guild Wars 2 DAT

Post by Nimba »

Oh, my apologies, I copied the script from my fiel downloader script, forgot to remove Numpy. I used numpy to load up the manifest in half a second instead of 1 min.

I will get the script re-uploaded so you don't need to edit the script.

[Edit] Fixed, reuploaded the script so it doesn't have the Numpy import.
Gornoth
ultra-n00b
Posts: 4
Joined: Sun Mar 25, 2012 3:43 am
Has thanked: 4 times
Been thanked: 2 times

Re: [Request] Guild Wars 2 DAT

Post by Gornoth »

Has anyone modified the gw unpacker to work with gw2stream.dat?
BobSaget
beginner
Posts: 20
Joined: Fri Mar 23, 2012 1:17 am
Been thanked: 1 time

Re: [Request] Guild Wars 2 DAT

Post by BobSaget »

I know someone modified the GW Dat Browser on 4chan to extract audio and textures. I have the source files if any one needs them. Should be just a modification of the header information to get the dat browser to work with gw2. (but for the uncompressed gw2stream.dat until someone figures out the compression algorithm.)

Edit: Here is the link anyways for people that want it.
GW Dat Browser
http://www.raechaer.de/GWDatBrowser.rar

Supposedly if you modify the header struct to match it will read and extract the gw2 dat file. I havent tried anything yet though.
Post Reply