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

Game Ripper/extractor tutorials?

Coders and would-be coders alike, this is the place to talk about programming.
Post Reply
Jubb
ultra-n00b
Posts: 8
Joined: Wed Oct 18, 2006 5:45 am
Been thanked: 1 time

Game Ripper/extractor tutorials?

Post by Jubb »

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
Mr.Mouse
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?

Post by Mr.Mouse »

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.
Jubb
ultra-n00b
Posts: 8
Joined: Wed Oct 18, 2006 5:45 am
Been thanked: 1 time

Re: Game Ripper/extractor tutorials?

Post by Jubb »

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.
Zench
VIP member
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?

Post by Zench »

Jubb wrote:None of these rippers usually come with source code so I'm a little uneducated on the subject.
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.
And I said, "The well has finally run dry." So then that will be my battle cry.
Jubb
ultra-n00b
Posts: 8
Joined: Wed Oct 18, 2006 5:45 am
Been thanked: 1 time

Re: Game Ripper/extractor tutorials?

Post by Jubb »

any, actually haha i'm interested in any code you got
Zench
VIP member
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?

Post by Zench »

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.
And I said, "The well has finally run dry." So then that will be my battle cry.
Jubb
ultra-n00b
Posts: 8
Joined: Wed Oct 18, 2006 5:45 am
Been thanked: 1 time

Re: Game Ripper/extractor tutorials?

Post by Jubb »

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.
User avatar
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?

Post by Dinoguy1000 »

The (old) source for MultiEx Commander is available at http://sourceforge.net/projects/mexcom/ as well, if you're interested.
Welcome to Xentax!

Rules | Requests | Wiki | Discord

If you run across a post that breaks the rules, please report the post - a mod or admin will handle it from there.
Jubb
ultra-n00b
Posts: 8
Joined: Wed Oct 18, 2006 5:45 am
Been thanked: 1 time

Re: Game Ripper/extractor tutorials?

Post by Jubb »

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?
Zench
VIP member
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?

Post by Zench »

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.
Mr.Mouse
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?

Post by Mr.Mouse »

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?
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.
User avatar
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?

Post by Dinoguy1000 »

You really ought to update the SourceForge project with some newer code, Mr. Mouse... :wink:
Welcome to Xentax!

Rules | Requests | Wiki | Discord

If you run across a post that breaks the rules, please report the post - a mod or admin will handle it from there.
Post Reply