Reverse engineering Artlantis Object Format files

I ran into some .aof files and I wanted to see what they were about.

Artlantis Object Format files are written by Artlantis, a closed source 3D modeling and rendering software, the data in them is about 3D scenes (camera, lighting, etc.) and 3D models (topology, materials, etc.). The format of .aof files themselves is actually really simple: they are XML files with some elements containing data described by text blobs, and the format of the text blobs is easy to figure out; they also embed a preview image of the rendering of the scene in the Artlantis Shader Preview File format (it's for raster images), and this format was a little more interesting to look at.

Some partial and hack-ish scripts to convert these files to more open formats are in the aof2obj git repository, more info about the structure of .prw files is in the README file.

On reverse engineering

Figuring out .prw files was not incredibly hard I have to say, but it made me think about reverse engineering a little more; here are some random thoughts I had about it, listed without much polishing. Keep in mind that I am assuming that the reverse engineering effort is driven mostly by curiosity and that its result is going to be publicly shared ;).

Reverse engineering is fun: you make hypotheses you verify them, you fail, you go back, you try again, and in the process you get to know yourself better.

Reverse engineering is about psychology: you try to guess what the cultural background of the developers of the object you are reversing was, in order to figure out how they were thinking when taking their design and implementation decisions.

Reverse engineering is rewarding: if you succeed you get a self-confidence boost. For some people that may be a bad thing :P.

Reverse engineering is useful:

  • you learn how to handle frustration better;
  • you will be helping people who just want to use or understand the given data, algorithm or protocol; maybe some software archaeologist from the future guessing what this particular aggregate of bits was about.

But I also wonder whether, on the other hand, reverse engineering might somehow contribute to make closed and undocumented technological objects more tolerable than they should be, by making them more accessible; but I still have to think some more about that, let me know if you have any opinion on this last point.

I am thinking about writing a couple of more organized articles about some techniques which can be used in reverse engineering, nothing too complicated, something from newbie to newbie, maybe with an example followed step by step. Let me know if there is interest for that, in that case I would be more motivated to put some time in that sooner rather than later.


CommentsSyndicate content

Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
h
X
g
z
e
B
Enter the code without spaces.