Jump to content


Photo

Xzp Extractor Progress


  • Please log in to reply
13 replies to this topic

#1 hbrdXΣr0

hbrdXΣr0

    X-S Member

  • Moderator
  • Pip
  • 65 posts
  • Location:Here
  • Interests:Computers, programming, videogames
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 08 March 2006 - 12:32 AM

Thanks to a forum member, whom I assume wishes to remain unnamed, I have the structure to the XZP format. First I tried writing a C++ program, and got it to display stuff like the header info, etc.. but I couldn't work with strings or anything because I'm apparently not that smart.
So, I went with what I know: PHP.
After a good few hours work, I can now extract files from XZP files. I've only actually extracted one file, it was a VMT, but the contents "LightmappedGeneric" show that I did my work just fine.
I need to do a paper, but I'll work on getting it to extract the entire contents in a little bit.

P.S. For those of you without the CLI version of PHP, once I finish coding it I'll compile it with the excellent Phalanger and release it. It'll probably be in steps, the first release simply extracting everything from a specified XZP file to a folder.

Edited by hbrdXΣr0, 08 March 2006 - 12:38 AM.


#2 hbrdXΣr0

hbrdXΣr0

    X-S Member

  • Moderator
  • Pip
  • 65 posts
  • Location:Here
  • Interests:Computers, programming, videogames
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 08 March 2006 - 02:51 AM

Okay! I have most of the bugs worked out. If there are any problems with the code, please post in this thread, PM me, or something. I've tested this with a couple XZP files from the game cache, so I know it works.
Please let me know right away if you can't run the program, I haven't tried it from a clean machine myself. Requires the .NET 1.1 runtime. I'm not responsible for your xbox exploding, etc. etc.

Download here.

#3 ash_link

ash_link

    X-S Member

  • Members
  • Pip
  • 89 posts
  • Xbox Version:v1.6
  • 360 version:none

Posted 08 March 2006 - 06:47 AM

Everything is going fine. Now we just need a importer.

#4 SuB-Zer0

SuB-Zer0

    X-S Enthusiast

  • Members
  • 20 posts
  • Location:Germany
  • Xbox Version:unk
  • 360 version:v1 (xenon)

Posted 08 March 2006 - 02:59 PM

Sounds very good hbrdXΣr0 wink.gif
I will try it out later this day.
Does this mean we can later import things too ?


#5 hbrdXΣr0

hbrdXΣr0

    X-S Member

  • Moderator
  • Pip
  • 65 posts
  • Location:Here
  • Interests:Computers, programming, videogames
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 08 March 2006 - 07:31 PM

QUOTE(SuB-Zer0 @ Mar 8 2006, 09:06 AM)  

Sounds very good hbrdXΣr0 wink.gif
I will try it out later this day.
Does this mean we can later import things too ?


Maybe. I don't know the file format well enough (I went off someone else's work for the decompiling) to import back. There's also a lot I don't understand about binary file formats, so it probably won't be me that'll write the importer.
I have contacted Nem of GCFScape and he said it should be pretty easy to add to HLlib and GCFscape. I will try and work with him to get it in, but we're just at the discussion stage right now. If we do that I will certainly release the source code to my own PHP script and we'll have a much better extraction program to work with. With the existing notes, and my completed reader code, as well as possibly HLlib in the future, maybe we can work out a method of writing back to the files. We will also have to figure out how to get them back into xz_ format (I believe they're just zipped, with code avaliable in the Source SDK, according to the person who also sent me the layout for the XZP files) so they can be replaced on the hard drive when you launch the game.

On a side note, I will release the source to the PHP code eventually, but I'm not exactly sure how the DCMA works and stuff so I don't know if I really need to right away tongue.gif

#6 entens

entens

    X-S Enthusiast

  • Members
  • 18 posts

Posted 08 March 2006 - 11:10 PM

QUOTE(hbrdXΣr0 @ Mar 8 2006, 12:38 PM)  

Maybe. I don't know the file format well enough (I went off someone else's work for the decompiling) to import back. There's also a lot I don't understand about binary file formats, so it probably won't be me that'll write the importer.
I have contacted Nem of GCFScape and he said it should be pretty easy to add to HLlib and GCFscape. I will try and work with him to get it in, but we're just at the discussion stage right now. If we do that I will certainly release the source code to my own PHP script and we'll have a much better extraction program to work with. With the existing notes, and my completed reader code, as well as possibly HLlib in the future, maybe we can work out a method of writing back to the files. We will also have to figure out how to get them back into xz_ format (I believe they're just zipped, with code avaliable in the Source SDK, according to the person who also sent me the layout for the XZP files) so they can be replaced on the hard drive when you launch the game.

On a side note, I will release the source to the PHP code eventually, but I'm not exactly sure how the DCMA works and stuff so I don't know if I really need to right away tongue.gif


*cough* the usual place is good *cough*

#7 hbrdXΣr0

hbrdXΣr0

    X-S Member

  • Moderator
  • Pip
  • 65 posts
  • Location:Here
  • Interests:Computers, programming, videogames
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 08 March 2006 - 11:15 PM

QUOTE(entens @ Mar 8 2006, 05:17 PM)  

*cough* the usual place is good *cough*


That's really unnessicary, seeing as most projects release their source publically but not the binaries. I'm already distributing the binary, I'm just waiting to do the source. Shouldn't be much longer.

#8 ash_link

ash_link

    X-S Member

  • Members
  • Pip
  • 89 posts
  • Xbox Version:v1.6
  • 360 version:none

Posted 09 March 2006 - 01:47 AM

If only We could import

#9 Infinite_Matrix

Infinite_Matrix

    X-S Senior Member

  • Members
  • PipPip
  • 248 posts
  • Location:Milwaukee, Wisconsin
  • Interests:Modding the XBOX!!!!<br /><br />The Lite-Step OS<br />Making win32 programs<br />Helping others with xbox problems
  • Xbox Version:v1.4
  • 360 version:none

Posted 09 March 2006 - 02:27 AM

QUOTE(ash_link @ Mar 8 2006, 06:54 PM)  

If only We could import


Compression?

Anybody need me?
MSN:xbl2@hotmail.com
AIM:LNFLNLTE MATRIX

heh, just got a channel for it as well.

irc.dynastynet.net, #XHL2M

Edited by Infinite_Matrix, 09 March 2006 - 02:47 AM.


#10 hbrdXΣr0

hbrdXΣr0

    X-S Member

  • Moderator
  • Pip
  • 65 posts
  • Location:Here
  • Interests:Computers, programming, videogames
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 09 March 2006 - 02:38 AM

Not compression. I believe the person who sent me the specs said there were checksums inside, too.

#11 ash_link

ash_link

    X-S Member

  • Members
  • Pip
  • 89 posts
  • Xbox Version:v1.6
  • 360 version:none

Posted 09 March 2006 - 05:07 AM

QUOTE(hbrdXΣr0 @ Mar 9 2006, 02:45 AM)  

Not compression. I believe the person who sent me the specs said there were checksums inside, too.


He told me to tell you that's timestamps

#12 Infinite_Matrix

Infinite_Matrix

    X-S Senior Member

  • Members
  • PipPip
  • 248 posts
  • Location:Milwaukee, Wisconsin
  • Interests:Modding the XBOX!!!!<br /><br />The Lite-Step OS<br />Making win32 programs<br />Helping others with xbox problems
  • Xbox Version:v1.4
  • 360 version:none

Posted 09 March 2006 - 10:39 AM

join the irc channel for some more discussion about this stuff. I'll setup a file serve on there as well for anybody who needs some mods quick and fast.

DynastyNet, #XHL2M

already got a couple people in the channel literally 3 minutes after it was made.happy.gif

Edited by Infinite_Matrix, 09 March 2006 - 10:40 AM.


#13 hbrdXΣr0

hbrdXΣr0

    X-S Member

  • Moderator
  • Pip
  • 65 posts
  • Location:Here
  • Interests:Computers, programming, videogames
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 09 March 2006 - 01:08 PM

I think forums work just fine. Anyway, Nem send me a test version of GCFscape that extracts from XZP files just fine, so we might be seeing a public release in a couple days.

#14 hbrdXΣr0

hbrdXΣr0

    X-S Member

  • Moderator
  • Pip
  • 65 posts
  • Location:Here
  • Interests:Computers, programming, videogames
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 10 March 2006 - 03:25 AM

I've released the source of the PHP script I used to write my extractor, in case anyone wants to see technical details on how the extraction works.

Source here




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users