Generic table of resources analyzer

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Generic table of resources analyzer

Post by id-daemon »

Was any such thing ever made?

This is a quick made tool that tries to detect any sequence of increasing BE 32-bit numbers with equal intervals. Surprisingly it usually detects it right in about 1 second. This one has no options, and analyzes only first 500kbytes to find minimum of 20 records, with max row size 24 bytes.

If anyone think this may be useful, I think offsets and file sizes may be detected automatically, and then split package into files. This way people without programming knowledge may unpack unknown package formats.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Generic table of resources analyzer

Post by aluigi »

Maybe try it with various game files and then post the statistics.
Based on those results you can improve the "mind" of the tool.
In my experience the practical usage is quite limited and prone to errors but it's for sure fascinating (yeah I already thought about something similar embedded in quickbms and there are toooooo many things to consider).
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Generic table of resources analyzer

Post by id-daemon »

So you also tried to make something generic, or just thought about this? Surely, a lot of false detection possible, so the only question is, how much time it will take, is it worth it or not. I'll think about it.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Generic table of resources analyzer

Post by aluigi »

I thought about it. I thought mainly to how it's possible to recognize the location of the file table (toc), the relative and absolute offsets, compressed files and filenames.
Basically you need an artificial intelligence to cover so many situations :D