I've been lurking around game modding forums for a very long time but never really contributed anything before. I would really like to, and I'm at a point where I know a decent amount of programming, so I figured I could try writing a program to extract data out of game files.
I know deciphering the structure of the file is the hardest part, but I was wondering if there are any tutorials on how to write programs to interpret that data and then actually convert it into a known format for everyone to edit and have fun with. Is it simply just parsing the file looking for predetermined patterns of how the data is stored and then writing that out to individual files? None of these rippers usually come with source code so I'm a little uneducated on the subject.
Any help would be appreciated
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Game Ripper/extractor tutorials?
-
- Site Admin
- Posts: 4073
- Joined: Wed Jan 15, 2003 6:45 pm
- Location: Dungeons of Doom
- Has thanked: 450 times
- Been thanked: 682 times
- Contact:
Re: Game Ripper/extractor tutorials?
Well, you could start with our tutorial on Game Resource Archive Formats : http://wiki.xentax.com/index.php?title=DGTEFF
That would give you an idea how archives work. MultiEx Commander uses a special script language for many formats. ( http://wiki.xentax.com/index.php?title=BMS ). But basically, yes, you collect the information in the archive that concerns offsets, compression, sizes of individual resources in that archive. Then you can save those resources as separate files.
That would give you an idea how archives work. MultiEx Commander uses a special script language for many formats. ( http://wiki.xentax.com/index.php?title=BMS ). But basically, yes, you collect the information in the archive that concerns offsets, compression, sizes of individual resources in that archive. Then you can save those resources as separate files.
Re: Game Ripper/extractor tutorials?
Thanks Mr. Mouse you always seem to be the most helpful. When I'm done with that tutorial hopefully I'll be able to contribute some great things.
-
- VIP member
- Posts: 209
- Joined: Sun May 04, 2008 9:11 pm
- Has thanked: 4 times
- Been thanked: 59 times
- Contact:
Re: Game Ripper/extractor tutorials?
Which rippers do you want to know more about? I can provide you with some source examples of how to make a ripper/extractor, just to demonstrate the theory of it. And definitely do look into BMS too.Jubb wrote:None of these rippers usually come with source code so I'm a little uneducated on the subject.
And I said, "The well has finally run dry." So then that will be my battle cry.
-
- VIP member
- Posts: 209
- Joined: Sun May 04, 2008 9:11 pm
- Has thanked: 4 times
- Been thanked: 59 times
- Contact:
Re: Game Ripper/extractor tutorials?
First of all, which programming language(s) are you comfortable with? And also, perhaps you can be a little bit more specific about what you want to learn. Do you want to make MexCom plugins? The source code to Game Extractor by Watto is available here (in Java). If you want to know how to write a ripper like Jaeder Naub I can explain the theory behind that. A lot of the source I've written in the field of game extraction hasn't been released (because it was useful only for my experimentation). Besides that I don't have any source that hasn't been released to everyone.
Hmmm... I guess I didn't release the source of GEPlugins. Just PM me if you (or anyone) want(s) it.
Hmmm... I guess I didn't release the source of GEPlugins. Just PM me if you (or anyone) want(s) it.
And I said, "The well has finally run dry." So then that will be my battle cry.
Re: Game Ripper/extractor tutorials?
Wow thanks I can't believe that was written in Java haha is it really slow? I've never used that extractor before.
To answer your questions I am most comfortable with Java and C++ but i'm sure I could pick up whatever other language these things may be written in. Also I'm not really looking to make mexcom plugins but I might at some point in the future. So, yes I am looking to write a ripper like Jaeder Naub and a little more information on the subject would be lovely.
To answer your questions I am most comfortable with Java and C++ but i'm sure I could pick up whatever other language these things may be written in. Also I'm not really looking to make mexcom plugins but I might at some point in the future. So, yes I am looking to write a ripper like Jaeder Naub and a little more information on the subject would be lovely.
- Dinoguy1000
- Site Admin
- Posts: 786
- Joined: Mon Sep 13, 2004 1:55 am
- Has thanked: 154 times
- Been thanked: 163 times
Re: Game Ripper/extractor tutorials?
The (old) source for MultiEx Commander is available at http://sourceforge.net/projects/mexcom/ as well, if you're interested.
Re: Game Ripper/extractor tutorials?
Cool, I'll be sure to check that one out too. Would you say there have been a lot of major changes to the structure since that release?
-
- VIP member
- Posts: 209
- Joined: Sun May 04, 2008 9:11 pm
- Has thanked: 4 times
- Been thanked: 59 times
- Contact:
Re: Game Ripper/extractor tutorials?
The basic strategy of writing a ripper is to load a block of the file into memory, and then search for signatures of media files or whatever kind of file you want to extract. After a signature is found, it reads this sub-file to make sure that it is indeed that particular kind of file. It also must calculate the size of this sub-file. Here is a little source code fragment of my ripper. I wrote it quite some time ago. It might be a bit complicated, since there are a bunch of other things it does too. I hope you can get something out of it anyways.
You do not have the required permissions to view the files attached to this post.
And I said, "The well has finally run dry." So then that will be my battle cry.
-
- Site Admin
- Posts: 4073
- Joined: Wed Jan 15, 2003 6:45 pm
- Location: Dungeons of Doom
- Has thanked: 450 times
- Been thanked: 682 times
- Contact:
Re: Game Ripper/extractor tutorials?
Well,yes, actually. And it's been a lot more organized since . Nevertheless, the basic method of the scripting process is there, the way multiex.dll works is not changed a lot.Jubb wrote:Cool, I'll be sure to check that one out too. Would you say there have been a lot of major changes to the structure since that release?
- Dinoguy1000
- Site Admin
- Posts: 786
- Joined: Mon Sep 13, 2004 1:55 am
- Has thanked: 154 times
- Been thanked: 163 times
Re: Game Ripper/extractor tutorials?
You really ought to update the SourceForge project with some newer code, Mr. Mouse...