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

Interactive decoding program?

General game file tools that are useful for more than one game
Post Reply
anahuj
ultra-n00b
Posts: 4
Joined: Wed Dec 21, 2011 4:48 pm
Been thanked: 1 time

Interactive decoding program?

Post by anahuj »

I would like to have an interactive program for decoding files
and for figuring out their structure. Anyone?

I wrote a simple program in GNU/Linux but failed to implement
the structure system. The program starts with text "<filesize>
unknown bytes", and then user may test and convert the
unknown bytes to various formats: hex lines, ints, floats, strings.
User may give name to these objects.
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Interactive decoding program?

Post by finale00 »

How would that differ from opening it in a decent hex editor that automatically converts the bytes in front of you into a bunch of different data types?

I don't remember how things are like when I first started looking at unknown archive or model formats but at this point, it's not important to me whether something is an int or a float because hex editors tell me that already.

I need a quick way to detect patterns and narrow down the structure of the format and then figure out how different parts are related to each other.
anahuj
ultra-n00b
Posts: 4
Joined: Wed Dec 21, 2011 4:48 pm
Been thanked: 1 time

Re: Interactive decoding program?

Post by anahuj »

My major work is an independent decoding of Oblivion and Fallout 3
ESM/ESP file format. (I'm not involved in TES4Edit etc projects.)

If I start from "<N> unknown bytes", I would find out first the
record block format: <record id> <record data size>, sort of.

I should be able to define the record format as know at this
point, and define how to reach the next record.

The decoder program would now be able to list all records
by their ID, size, number of unknown bytes inside the record.

Now I should be able to define subdecodings for every
record, per ID.

I have written an interactive browser but the format is
defined by writing the format manually in text format.

There are more in this than I have now explaned, of course.
For example, I should now have a C/C++ library for loading,
browsing, modifying, and saving the game data.
GMMan
veteran
Posts: 139
Joined: Fri Nov 05, 2010 10:14 pm
Been thanked: 56 times

Re: Interactive decoding program?

Post by GMMan »

The hex editor I use on Windows, i.Hex, has a feature where you can define structures and it'll parse it out for you. It tends to crash if you make a mistake and load a large number of bytes, but in any other case it's a cinch if you don't want to spend time writing a parser. It doesn't show values in float or double when editing, but it does show char, short, and int, signed and unsigned, big- and little-endian. You can have it show float/double on the side if you define it in a struct. It doesn't have any library loading functions, though (what do you expect, it's a hex editor).
Currently researching: Alpha Prime scripting (AI and mods)
Queued: EE .cache repacking, CustomPak repacking, Gameloft Scrambled Zip multitool, GRAF Extractor Skeleton repacking, Gun Metal filenames CRC
djmauro
beginner
Posts: 36
Joined: Tue Sep 16, 2008 2:49 pm
Has thanked: 1 time
Been thanked: 1 time

Re: Interactive decoding program?

Post by djmauro »

http://www.yole.ru/projects/structorian/
http://www.sweetscape.com/010editor/


010 is not free tho and the structorian is quite outdated - he never finished the newer version, only source remains. But it is a great structure based tool to analyze unknown formats.
Post Reply