Jump to content

Extractor source code

Recommended Posts



I still follow this forum. Maybe not very often, but I like to see your progress with patches😉.

I have read some post about extracting files from taw/adf and I'd like to help a bit.


I have uploaded the source code of the extractor to gitHub:



This is the first version and not the one you know, as it is better for what you need. The difference is that this version can extract the list of filenames/offsets.

Basically, the idea is to intercept the calls to a function in taw that  loads the files inside did.dat (or in disk) into memory. The trick to get all filenames is to "explore" all the game because, obviously, the files are only loaded when they are required.

Surely this won't extract the 100%. As you know, this is because many files are from adf or ef200 and they are not used at all.


About ADF, I'm sorry to say I didn't have anything similar, but you can follow the same way. And one clue, at the end of did.dat there is an index with file offsets and lengths. I don't remember very well but I think this index contains ALL the files in did.dad.



Share this post

Link to post
Share on other sites

Thanks for dropping by!

There were two pivotal moments in did.dat extraction.

The first being your extractor and the second was Benjamin's RA decompressor. Boh were around 2006 IIRC.


4 hours ago, Krusade said:

at the end of did.dat there is an index with file offsets and lengths

That index also contains a hash of the filename and we subsequently were able to reverse engineer the hashing algorithm around 2011. We could then take the output of your extractor, guess some variations of the existing files, then find things like worlds that were not used by the original games. DrKevDog's 'Seaworld' being the prime example.

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...