Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
21–30 of 52 posts
Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
#22I don't know anything about reverse engineering, but I have wanted to reverse engineer/decompile the Disney Animation Studio [1] for DOS for years. I found the software at a thrift store in 2009, when I was eighteen, and I was immediately impressed. This was actually very intuitive, easy-to-use animation software that was very powerful, years before FutureSplash/Flash was released. There's not a ton of info available…
It isn't that hard. I'm currently reverse engineering a old flight simulator game called A-10 Cuba. I had to teach myself X86 Assembly, and understand basic calling convention. Then C++ vtables, struct alignment and struct layout. How-ever you do need this basic level understanding of the core fundamental to help you along when the tools you use IDA, Ghidra that turn the assembly code back into C pseudo code. So ther…
Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
#23Earlier quoted context omitted.
It isn't that hard. I'm currently reverse engineering a old flight simulator game called A-10 Cuba. I had to teach myself X86 Assembly, and understand basic calling convention. Then C++ vtables, struct alignment and struct layout. How-ever you do need this basic level understanding of the core fundamental to help you along when the tools you use IDA, Ghidra that turn the assembly code back into C pseudo code. So ther…
I played A-10 Cuba a ton on an old Pentium 3. Are you doing this in a repo somewhere?
Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
#24Old games like this have a small (and shrinking) audience of people who care about them. With Tribes 2, for example, there are only ~50 people who actively play on a regular basis. A subset of those people are programmers, and a subset of those have the time & energy to put into a project like t2-mapper, assuming they're even interested. I got a basic version working, but then Claude Code helped decode and convert obsolete Dynamix/Torque3D file formats (improving existing Blender addons that were incomplete), got TorqueScript running in the browser, wrote shaders, and generally helped figure out what the original C++ code was doing.
In the past, you'd need the stars to perfectly align for stuff like this to happen: a passionate super-fan with the time, resources, knowledge, and persistence to see it through. Now, you mostly just need the persistence (and maybe a couple hundred bucks for tokens). I foresee people with niche interests (but not necessarily a programmer's skillset) being able to extend the lifetime (and maybe audience) of their obscure or obsolete software.
Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
#25[0] I am aware that such a wiki exists exactly for this purpose.
Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
#26I'm also impressed by the game's jaz image format. Very cool.
Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
#27How much did this cost with the AI usage ? What plans did you have ? Reversing this by hand seems like it would have taken orders of magnitude longer…
But it is more fun and more of a learning experience, I think.
Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
#28Earlier quoted context omitted.
Using LLM's in an "agentic loop" is indeed a game changer. Give it a try in a sandbox.
Is the idea that once you isolate a function it decompiles it and then iterates changes until either the recompiled asm matches?
Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
#29Any recommended learning materials/resources for basic binary reverse engineering? I'm imaging a resource that teaches the common tools/concepts and provides binaries in increasing complexity.
Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game
#30I've been thinking about this topic and am glad to see it come up: AI is going to be a huge boon for digital preservation & restoration projects like this. I realized this while building this project (a map explorer for Tribes 2): https://exogen.github.io/t2-mapper/ Old games like this have a small (and shrinking) audience of people who care about them. With Tribes 2, for example, there are only ~50 people who active…
Do you have a writeup of how you did it? Both (regular) tooling (radare2? rizin? IDA? ...) and how the LLM did (or did not) use it?
In the little spare time I have, I've been able to reverse engineer the "compressed" file format (ended up being basically a XOR'ed zlib-compressed TAR-like archive), but not much else. I have not used LLMs to help me.