micolous.id.au

The result of a blogging accident

Trackmania Disassembler

This program allows you to “disassemble” parts of the headers of Trackmania tracks. It’s been tested mainly with Trackmania Nations, but has also been tested with a few Trackmania Original, Sunrise, United and Forever tracks.

I’ve written a page on tm-wiki describing what I’ve learnt about the file format. Others have since extended this article, and it includes alternative implementations for parsing GBX metadata.

It also allows you to view the “editing password” used on the tracks, allowing you to modify password-protected track files. This works on all versions of Trackmania that support password protecting the editing of tracks, excluding Trackmania Forever. I’ve written some musings about the password obfuscation, after I released v1.2.

This also contains a library, ‘libtrackmania’, which allows you to use the disassembler in other projects. The library is written in C#, utilising the .NET 2.0 framework. XML documentation for the library is included.

License

This software may be used for non-commercial purposes only. If you want to bundle libtrackmania with your projects, they must be released non-commercially. Additionally, these restrictions apply on libtrackmania’s use:

  • You must not bundle software with your application that is a detriment to the overall performance of a user’s computer.
  • You must not bundle software with your application that records or aggregates a user’s activity outside your application.
  • You must not bundle software with your application that compromises the security of a user’s computer.
  • If you include advertising in your application, you must not profit from any advertising shown in your application, and you may only include advertising regarding relevant, non-commercial Trackmania-related resources.
  • If you bundle software with your application, you must disclose that software’s existence to the user, and all it’s functions. If a user does not want the bundled software, they should be allowed to discontinue installation and/or disable installation of that component.
  • Your application must include an uninstaller that removes all software that was installed by it’s installer. If your application does not use an installer, then deleting the program’s folder should remove all software included with the package.

Of course, this software is to be used at your own risk. If you wish to clarify any of these terms, please contact me first.

If there is demand for it, I may release source code for this application.

Getting It

On Windows, this program requires the Microsoft .NET Runtime 2.0. I understand that this is bundled with Windows Vista & Server 2008, however earlier versions of Windows will need to download it from Microsoft’s website (available in x86, x86_64 (amd64) and ia64 (Itanium)). I’ve tested this software primarily on Windows XP on x86 and x86_64.

On Linux, OSX, etc., this program requires a version of Mono capable of implementing the .NET 2.0 framework, and Windows.System.Forms 2.0 (for the GUI disassembler program). The library itself has no dependency on System.Windows.Forms.

All the archives here are compressed with 7-Zip, a very good free-software archive format (which has better compression that ZIP and RAR in many instances). They can also be unpacked using recent versions of WinRAR, which include a 7-Zip decompression module.

Current version:

  • Download Trackmania Disassembler 1.3 (binary). This fixes support for Stunts tracks, changes internal handling of medal times/scores to use int32 rather than uint32 and introduces some API changes for handling stunts tracks and unvalidated tracks. There is also a (new) console-only test program for the library, which dumps information about a track. API changes are documented in a text file inside the archive.
  • NOTE: Password recovery for Trackmania Forever does not work, as Nadeo have changed the password storage algorithm (it’s not in the old spots at all). I’m still working on a way to get around this. However, password recovery for all other versions of Trackmania still works.

Old versions:

You may also be interested in my BF2142/IGA Ad Cache Editor, which can also edit the advertising cache used in Trackmania Nations.

If you have issues with this program, please ZIP the track file up that is causing issues, and send it to me. Please note that Trackmania Forever track passwords I have not cracked yet – please do not send me those tracks for now, unless there is another issue with reading the track that is not related to the password.