Tursiops: Universal trainer for Linux
One of the things I do miss about Windows is the abundance of universal trainers for it. If you don’t know what a trainer is, it’s a program that writes over the memory of another process, typically a game, to confuse the program into doing something it wouldn’t normally do. Trainers are often used to get infinite lives/money/ammo in games. However, they must know where in memory these variables are being stored.
A universal trainer is the most generic trainer: it allows the user to search a process’ memory space for a certain value, and further refine the search until the variable’s location in memory is isolated. Then the user may modify that memory to change that variable while the program is running.
Kcheat is the only similar program I’ve seen for Linux. Unfortunately, it requires KDE 1… which nobody is going to install just to use this program.
Well, Wednesday I decided it might be cool to design a new one. So I did, using portions of Kcheat (mainly the lower level stuff). It’s implemented in C# with Gtk# as the UI, and a small C library to take care of the nasty work. As of last night it’s almost done — already! It can search the memory of a process for six different data types (signed/unsigned 8/16/32-bit integers) and allow their contents to be tweaked. It’s a little unstable as I haven’t done any exception handling yet (except where necessary) but the stable release will be pretty slick. The UI is uncluttered and simple, though demand may see the addition of new features.
The only drawback is that the project is generally pointless: most Linux games that people care about are either network games, which prevent clients from tampering with the data on the server, and the others are open source anyway, so you can just comment out the “if (lives == 0)” line and recompile.
On the other hand, this is easier than recompiling, if a bit hackish.
February 28th, 2007 at 10:43 pm
Is this done? Could you please release this app? i need to cheat flash games…
May 22nd, 2007 at 2:08 pm
Do you have a binary for this or source? can not seem to find anything like it out there and want to mess with some of my programs. Thank’s in advance.
August 9th, 2007 at 1:26 am
When will this be finished!??
August 13th, 2007 at 10:06 am
I’ll release the source when I have the time and motivation to go back and clean it up. It’s a pretty hackish thing right now and I’d like to make it presentable before releasing it.
August 17th, 2007 at 8:46 pm
Oh, thank god Chris is still active especially with Tursiops!! I sincerely hope Chris releases this soon!! This application with or without the source code is currently my heart’s deepest desire and dream! I really don’t think anybody will care how messy it’s code is. I have much respect for you, Chris!! My head will be out of space when this is released!! Thank you again if you can Chris!!!!
August 19th, 2007 at 2:14 pm
I am very interested in Tursiops. Do you have any idea when this will be released?? As for the messy code, I am, in fact, an experienced C/C++ programmer. I could help you clean it up. I’ve made four 2D games, a multi-platform user-friendly “file locker,” and a few other applications. I wish to remain anonymous, so I will refrain from publicly giving links and names. If Turiops is already finished, why not release it? I doubt any of my code is any nicer than yours. One project, in fact, was only based on a single main.cpp with over three thousand lines of code! That messy code was the obsoleted DOS file locker/unlocker now inoperable on the newer win32 Windows and has no support for *nix based operating systems. It’s been years since I’ve worked on that, but now that I remember it, I’ll rework it for Linux and the newer win32 Windows.
I do hope you have no regret posting this blog if Tursiops was intended for private use. I would greatly appreciate you if the binary or source would be released. Unpresentable code isn’t a major issue and readable code could be improved and released to future version, even without any improvements. Again, I insist on the whole point of this comment: I would greatly appreciate you if the binary or source would be released, in any matter of time.
September 29th, 2007 at 9:42 pm
I’d love to see this aswell; awaiting a beta, even if it is “ghetto”.
November 24th, 2007 at 6:59 pm
[...] I wrote a while ago about a project I had started to develop a universal trainer for Linux. I’ve been intentionally delaying the public release because I wrote it as one of my first C# projects and the codebase was less than maintainable, and probably had a lot of memory leaks. Additionally, the UI was created using Glade and instantiated using Glade#. [...]
March 30th, 2008 at 10:46 pm
Is this still active?
April 1st, 2008 at 2:08 pm
Yes, in fact there has since been a public release: http://www.chrishowie.com/2007/12/03/tursiops-01-released/