Guitar Hero 3 PC - 3D Model Extract for Animation
Page 1 of 1

Author:  Pandora [ Fri Feb 03, 2017 12:14 pm ]
Post subject:  Guitar Hero 3 PC - 3D Model Extract for Animation

Hello! I write this in order to ask if there is a way to extract the 3D Models from Guitar Hero 3 for PC with bones, rigging, animation, etc. I already was able to extract only the geometry of a model posed in A-Pose with Ninja Ripper and I posted on DeviantArt:


However, I want to know if there is a way to extract the 3D models with bones, rigging, and animations for use in Autodesk Maya 2017.

Of course, the files are packed (and maybe encrypted) in .PAK.XEN format.
The textures are in TEX.XEN format.
There is also a "SKIN.XEN" format.

Since there is a way to extract and edit songs in .FSB.XEN, I wonder if there is a way to decrypt and extract .PAK.XEN files in order to get the game 3D Models with Rig, Bones, Animation, etc.

I attach the files for the Singer (16MB)

I hope you guys and girls can light me up and explain me how to do it. I don't have experience with Hexadecimal Editors or encrypting :P

I appreciate your time and thank you in advance for anything ^^

Greetings :)

Author:  Pandora [ Sun Aug 13, 2017 5:02 am ]
Post subject:  Re: Guitar Hero 3 PC - 3D Model Extract for Animation

I have looked for more information, I had come with some things that might be useful to know.

I have read that the [.xen] thing might be a "placeholder" instead of a proper file extension. (Desertman123)

http://www.scorehero.com/forum/viewtopi ... 462798a164

I think I could proof this, since I was messing around with GH Warriors Of Rock for Wii and in fact, the files end up with [.ngc] instead of [.xen]. So, I think that the [.xen] or [.ngc] thing just points out the console of the game. [.xen] would be for PC and Xbox, [.ngc] for Wii, [.ps2] for PS2, [.xbx] for Xbox too, etc.

As MaXkiller says: "The last extension is meaningless, they just represent the system not file format."
http://www.scorehero.com/forum/viewtopi ... c&start=15

I kept looking and I found the tool QuickBMS which supports a lot of games to be unpacked. However, I saw that Guitar Hero 3 or Aerosmith (Which uses similar GH3 engine) was not in the list and in the forums, people asked Luigi Aurema to create a script for X or Y games.

Anyone kindly willing to help to get the 3D models with animation or bones or rig from the GH3 from PC, maybe by helping me decrypting the pak.xen files, or maybe creating a script for QuickBMS which can decrypt pak.xen or something like that?

I am so sorry I do not understand much about reverse engineering or programming to talk with difficult words, but if there is something I can do, please tell me, since I have already looked around and I ran out of resources...

Author:  aluigi [ Sun Aug 13, 2017 5:01 pm ]
Post subject:  Re: Guitar Hero 3 PC - 3D Model Extract for Animation


Author:  Pandora [ Mon Aug 14, 2017 7:19 pm ]
Post subject:  Re: Guitar Hero 3 PC - 3D Model Extract for Animation

Thank you so much for your time to write an script, Luigi! I really appreciate it so much! :) This script worked for extract PAK.XEN and TEX.XEN files :D

I will post what I found and my other concerns ^^

In my first post, I attached 4 files:


Thanks to the script, I was able to extract 3 of the 4 files.


The file "singer_male.skin.xen" returns the following error in QuickBMS.

Offset: faaabaca
Filesize: 4205492938
Filename: 000b4cd8

Incomplete input file C:\singer_male.skin.xen
Can't read 64 bytes from offset faabaca.
Anyway, don't worry, it's possible that the BMS script has been written
to exit in this way if it's reached the end of the archive so check it
or contact its author or verify that all the files have been extracted.
Please, check the following coverage information to know if it's OK.

Coverage file:
file 0 0% 36 740616 . offset faabaca

Last script line before the error or that produced the error:

I found this inside the following files using QuickBMS:


Contains: 4 folders (5.428.818 bytes)

1º Folder's Name: 2cb3ef3b

Contains 1 DAT File:
0000000d.dat (4 bytes)

2º Folder's Name: 8bfa5e8e

Contains 1 Subfolder:
Subfolder: 00002000

Subfolder 00002000 contains 11 DDS files (4.688.000 bytes):
0000000a.dds (1.398.240 bytes) [Normal Body DDS Texture]
0000000b.dds (11.056 bytes) [Specular Eyes DDS Texture]
00000001.dds (1.398.240 bytes) [Diffuse Body DDS Texture]
00000002.dds (174.896 bytes) [Specular Hair DDS Texture]
00000003.dds (699.184 bytes) [Diffuse Hair DDS Texture]
00000004.dds (816 bytes) [Diffuse Unknown DDS Texture]
00000005.dds (21.984 bytes) [Normal Eyes DDS Texture]
00000006.dds (174.896 bytes) [Normal Hair DDS Texture]
00000007.dds (699.184 bytes) [Specular Body DDS Texture]
00000008.dds (21.984 bytes) [Diffuse Eyes DDS Texture]
00000009.dds (87.520 bytes) [Diffuse Tatoo DDS Texture]

3º Folder's Name: 64112e85

Contains 1 DAT File:
0000000c.dat (740.616 bytes) [Presumably 3D Information?]

4º Folder's Name: a7f505c4
Contains 1 DAT File:
00000000.dat (198 bytes)


Contains 11 DDS Files (4.688.000 bytes):
00000000.dds (1.398.240 bytes) [Diffuse Body DDS Texture]
0000000a.dds (11.056 bytes) [Specular Eyes DDS Texture]
00000001.dds (174.896 bytes) [Specular Hair DDS Texture]
00000002.dds (699.184 bytes) [Diffuse Hair DDS Texture]
00000003.dds (816 bytes) [Diffuse Unknown DDS Texture]
00000004.dds (21.984 bytes) [Normal Eyes DDS Texture]
00000005.dds (174.896 bytes) [Normal Hair DDS Texture]
00000006.dds (699.184 bytes) [Specular Body DDS Texture]
00000007.dds (21.984 bytes) [Diffuse Eyes DDS Texture]
00000008.dds (87.520 bytes) [Diffuse Tatoo DDS Texture]
00000009.dds (1.398.240 bytes) [Normal Body DDS Texture]


Contains 3 folders (895.541 bytes)

1º Folder's Name: 2cb3ef3b

Contains 1 DAT File (4 bytes):
0000002a.dat (4 bytes)

2º Folder's Name: 745dcd45

Contains 41 DAT Files (895.528 bytes)

3º Folder's Name: a7f505c4

Contains 1 DAT File (9 bytes):
00000000.dat (9 bytes)

So, as you can see, both of the files "Singer_Male.pak.xen" and "singer_male.tex.xen" contain exactly the same DDS Textures for the model. However, the file "Singer_Male.pak.xen" may contain some other information about the model, which I can not interpret, since all files are just DAT files. Some DAT files are kind of big, some other DAT files just have 4 bytes in size. The same happens with "Singer_Male_Anims.pak". It only contains DAT files, which I can not open, since I don't know what type of file is each of one originally. I tried changing DAT file extension into FBX or OBJ without results. I think it has to be more difficult than just changing the file extension, right?

So, I would like to ask for your kind assistance again.

- Is there a way the file "singer_male.skin.xen" could be decrypted? Maybe another script for QuickBMS?
- How can I open those DAT files? How can I know what kind of original filetype it is? Is there any DAT file here that can be interpreted as 3D information, mesh, geometry, rigging, bones, animation, etc?

I attach the extracted files (21,7MB)
https://drive.google.com/file/d/0B2WPzY ... sp=sharing

I hope we can work this out together, and I thank you in advance for your time :)

Thank you again and greetings :)

Author:  aluigi [ Mon Aug 14, 2017 9:42 pm ]
Post subject:  Re: Guitar Hero 3 PC - 3D Model Extract for Animation

I can't help with the skin file because it doesn't seem an archive and there is no clear content in it.

Author:  Pandora [ Mon Aug 14, 2017 11:42 pm ]
Post subject:  Re: Guitar Hero 3 PC - 3D Model Extract for Animation

I see. shakotay2 in Xentax has mentioned something that might be useful about singer_male.skin.tex


From what I see singer_male.skin.xen is just an excerpt from Singer_Male.pak.xen.

Anyways, this is some rough description of the matrix format in the skin file (but not sure whether it's animation frames):

384 frame(?) blocks of different size, the first one has 239 (0xEF) matrix blocks (size 56 bytes each)

start addr, first DWORD is big endian (matrix block) count
0x30E60 000000EF 02000000 FACEF0 00 FACEF0 01 (16 bytes header)

0x30E70 + 0x3448 (239x56) = 0x342B8

0x342B8 000000 28 09000000 FACEF0 00 FACEF0 01
0x34B88 000000 0D 0A000000 FACEF0 00 FACEF0 01
0xB4C78 000000 02 6A137000 FACEF0 00 FACEF0 01

The first two matrices:

0.026543 0.054824 -0.756638
-0.753391 1.021934 -0.068304
-0.647700 0.650703 0.101329
0.996157 0.089352 0.094808
1.000000 0.000000

0.000175 0.137702 0.989281
-0.026633 1.092723 -0.330542
-0.000278 -0.930762 0.108428
0.933692 -0.146021 -0.364653
1.000000 0.000000

(there's a count of 1116 at 0x3AEE8, too big for a bone count)

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Limited