{"id":13441953,"url":"https://github.com/ugtrain/ugtrain","last_synced_at":"2025-03-20T13:31:34.357Z","repository":{"id":3462256,"uuid":"4516488","full_name":"ugtrain/ugtrain","owner":"ugtrain","description":"The Universal Elite Game Trainer for CLI (Linux game trainer research project)","archived":false,"fork":false,"pushed_at":"2021-04-26T20:20:44.000Z","size":1989,"stargazers_count":143,"open_issues_count":12,"forks_count":10,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-10-28T05:12:17.437Z","etag":null,"topics":["cheat","cheating","game-cheating","game-trainer","game-trainers","hack","linux"],"latest_commit_sha":null,"homepage":"https://github.com/ugtrain/ugtrain","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"react-bootstrap/react-bootstrap","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ugtrain.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-06-01T05:49:26.000Z","updated_at":"2024-10-18T20:09:58.000Z","dependencies_parsed_at":"2022-08-20T10:40:56.910Z","dependency_job_id":null,"html_url":"https://github.com/ugtrain/ugtrain","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugtrain%2Fugtrain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugtrain%2Fugtrain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugtrain%2Fugtrain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugtrain%2Fugtrain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ugtrain","download_url":"https://codeload.github.com/ugtrain/ugtrain/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244619148,"owners_count":20482369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cheat","cheating","game-cheating","game-trainer","game-trainers","hack","linux"],"created_at":"2024-07-31T03:01:40.013Z","updated_at":"2025-10-14T12:03:31.127Z","avatar_url":"https://github.com/ugtrain.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"## ugtrain - Universal Game Trainer\n\n[![Latest release](https://img.shields.io/github/release/ugtrain/ugtrain.svg)](https://github.com/ugtrain/ugtrain/releases)\n[![Build status](https://travis-ci.com/ugtrain/ugtrain.svg?branch=master)](https://travis-ci.com/ugtrain/ugtrain)\n[![Coverity Status](https://scan.coverity.com/projects/6376/badge.svg?flat=1)](https://scan.coverity.com/projects/ugtrain)\n\nThe ugtrain (say You-Gee-train) is an advanced free and universal game trainer for\nthe command line under GPLv3 license. It is a research project and a tool for\nadvanced users who want latest and really working Linux game cheating methods\nat the cost of no GUI and limited usability.\n\nThe **dynamic memory support** sets ugtrain apart. An integrated preloader,\na memory discovery, and a memory hacking library are included for this.\nIt uses one simple **config file per game** which can be exchanged\nwith others. **Example configs** for games which allow cheating are included.\nThese also come with **automatic adaptation** for dynamic memory so that you can\nuse them right away on your system after executing it.\n\nFurthermore, security measures like **ASLR/PIC/PIE are bypassed**. Together with\n**universal checks**, reliable and stable static memory cheating is provided.\nUgtrain works with most C/C++ games on Linux this way. With **scanmem** it\nintegrates the best memory search on Linux and there is even **no need for root\nprivileges**.\n\nWhat a **game trainer** is: \u003cbr/\u003e\nhttp://en.wikipedia.org/wiki/Trainer_%28games%29\n\nFor **further documentation** see:\n\n* [Questions and Answers](README_qanda.md)\n* [Static Memory Cheating Documentation](doc/ugtrain-statmem.md)\n* [Dynamic Memory Cheating Documentation](doc/ugtrain-dynmem.md)\n* [Config Syntax Description](examples/README.md)\n* [Development TODOs](TODO)\n\n## Logo and Screenshots\n\u003ctable\u003e\u003ctr\u003e\u003ctd\u003e\n\u003ca href=\"img/ugtrain_logo_300px.png\"\u003e\n  \u003cimg src=\"img/ugtrain_logo_300px.png\"\n   alt=\"ugtrain logo\" align=\"left\" width=\"250\" /\u003e\n\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\n\u003ca href=\"img/ugtrain_chromium-bsu64.png\"\u003e\n  \u003cimg src=\"img/ugtrain_chromium-bsu64.png\"\n   alt=\"ugtrain cheating at Chromium B.S.U. 64 bit\" align=\"right\" width=\"400\" /\u003e\n\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\n## Videos of Examples\n\n**Chromium B.S.U.** \u003cbr/\u003e\nhttps://www.youtube.com/watch?v=mTpC30tSMqU\n\n**Warzone 2100** \u003cbr/\u003e\nhttps://www.youtube.com/watch?v=1GcppQNpdTc\n\n## Legal Warning\n\nDon't use game trainers or any other cheating software for commercial\nclosed-source, multi-player or online games! Please don't use ugtrain\nfor that! You may violate copyright and other laws by doing so. Recording\nvideos of doing so makes the situation even worse in terms of law. Please\nalways read the end user license agreement (EULA) of the game to be very\nsure if you are really allowed to do so or not! If in doubt, use games\nwith official FOSS licenses (like GPLv2) in single-player mode only.\n\nEspecially don't cheat at Steam! They send out crash dumps with delicate\ninformation included. We can't accept that you impair our reputation by\nsending dumps with ugtrain parts visible to them.\n\n![Don't cheat at Steam!](img/dont_cheat_at_steam_300px.png)\n\n## Linux Distribution Packages:\n\nArch: https://aur.archlinux.org/packages/ugtrain-git/\n\nDebian: https://sourceforge.net/projects/ugtrain/files/\u003cbr/\u003e\nDebian source: https://salsa.debian.org/spars-guest/ugtrain\n\nopenSUSE/SLES: https://build.opensuse.org/package/show/home:TuxCheater/ugtrain\n\nUbuntu: https://launchpad.net/~s-parschauer/+archive/ubuntu/game-cheating\u003cbr/\u003e\nUbuntu source: https://github.com/sriemer/ugtrain-debian\n\n## How to Build and Install\n\nMake sure that the following packages are installed on your system: \u003cbr/\u003e\n`autotools-dev`, `autoconf`, `automake`, `g++`, `libtoolize`, and `libtool`\n\n1. Generate the missing autotools files: \u003cbr/\u003e\n`./autogen.sh`\n\n2. Configure the build to generate the Makefiles: \u003cbr/\u003e\n`./configure --prefix=/usr`\n\n3. Build the ugtrain binaries: \u003cbr/\u003e\n`make`\n\n4. install ugtrain, tools and the libs to /usr: \u003cbr/\u003e\n`sudo make install`\n\n5. regenerate the ld.so cache (see `man ld.so`): \u003cbr/\u003e\n`sudo ldconfig -v`\n\n`objdump` (package `binutils`) and `scanmem` should be installed as well.\n\nSpecial configure options: \u003cbr/\u003e\nCompile hooking libs as 32 and 64 bit (EXPERIMENTAL): \u003cbr/\u003e\n`./configure --prefix=/usr --enable-multilib` \u003cbr/\u003e\nCompile hooking libs with glib2 function hooking (EXPERIMENTAL): \u003cbr/\u003e\n`./configure --prefix=/usr --enable-glib` \u003cbr/\u003e\nCompile without `/proc/$pid/mem` support: \u003cbr/\u003e\n`./configure --prefix=/usr --disable-procmem`\n\n## How to Use\n\nUse the compiled tool as follows: \u003cbr/\u003e\n`ugtrain [options] \u003cconfig\u003e[.conf]`\n\nThis searches in the current working directory for the `\u003cconfig\u003e.conf`.\u003cbr/\u003e\nIf it can't find it there, then it tries `~/.ugtrain/\u003cconfig\u003e.conf`.\n\nFor details use: \u003cbr/\u003e\n`ugtrain --help`\n\nDo e.g. the following: \u003cbr/\u003e\n`ugtrain -P examples/chromium-bsu64`\n\nThis parses the chromium-bsu64.conf from the examples, runs the\ngame with libmemhack64.so preloaded and starts freezing the configured\nvalues. In [examples/README.md](examples/README.md) the config syntax\nis described.\n\nIf it asks you for automatic adaptation, then you should accept. The\nadaptation can be triggered explicitly as well: \u003cbr/\u003e\n`ugtrain -A examples/chromium-bsu64`\n\n## Current Limitations\n\n**CPU Architecture**\n\n* PCs: tested on x86 and x86\\_64 only\n* embedded: tested on Raspberry Pi only\n\n**Operating System**\n\n* Linux only\n\n**Configs**\n\n* no config editor - use your favorite text editor\n* can't be reloaded when the game is already running\n* can't implement adaptation for all of them (too much efforts)\n\n**Static Memory**\n\n* no adaptation yet\n\n**Dynamic Memory**\n\n* growing of objects/structures experimental, no documentation yet\n* no adaptation for allocations within a library (PIC) yet\n* disassembly within discovery and adaptation for x86 and x86\\_64 only\n* doesn't work with WINE yet\n\n**Pointer Following**\n\n* preferred from dynamic memory and unpreferred from static memory\n* limited discovery features (tool `ugptrfind` or `gdb` with `gef`)\n\n**Compilation**\n\n* 32 bit, \\*64\\*, and s390x only\n* tested with GCC g++ only\n\n**GUI**\n\n* can't serve as a backend yet\n* runs in batch mode only - ncurses interface required\n* GUI development rejected\n\nMemory scanning integration needed, not enough development resources,\nno contributions, and no personal need.\n\n**Testing**\n\n* testing is limited to manual tests so far\n* tests are mostly based on Debian/Ubuntu/openSUSE distributions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fugtrain%2Fugtrain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fugtrain%2Fugtrain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fugtrain%2Fugtrain/lists"}