GTLibc is Game Trainer library for c/c++ in windows it provides all the necessary methods to make simple game trainer in windows using WIN32-API with ease. It uses only WIN32-API methods instead of CRT method because this is intended to work on Windows system only and not shall be portable or to target other OS like Linux,MAC OS etc.
NOTE : This ain't memory scanning,hooking,analyzing library, it won't provide methods for scanning/signature or dumping RAW memory.
AIM : The aim of this library is only to provide the most efficient way of creating game trainer and to provide a layer on top of WIN-32 API cumbersome methods and to make reading/writing ,finding Game process easier and convenient.
Do check our new game-library for Python aswell GTLibPy
THIS LIBRARY IS INTENDED TO USE ONLY FOR OFFLINE GAMES ONLY AND YOU AGREE NOT TO USE THIS FOR ONLINE GAMES BY ANY MEANS,AND NOT TO CREATE MODS/CHEATS FOR ONLINE GAMES.
Using GT_FindGameProcess() method.
Using GT_FindGameWindow() method.
using GT_ReadAddress() or GT_ReadAddressoffset() methods.
using GT_WriteAddress() or GT_WriteAddressOffset() methods.
using GT_HotKeysPressed() MACRO or GT_IsKeyPressed()/GT_IsKeyToggled() methods.
using GT_SetCheatCode() method.
using GT_SearchOffsetArea() method.
using GT_InjectOpcode()/GT_InjectOpcodes() method.
using GT_InjectShellCode() method.
using GT_InjectDLL() method.
using GT_DoMousePress() and GT_DoKeyPress() methods.
If you tried to access methods of GTConsole library without using MACRO GT_BUILD_CLI you will get undefined reference error.
All the error/exception handling is done by library itself like if you tried read or write from Invalid Memory section or if process id,game handle/HWND are invalid it will automatically handle error.So you don't have to check for any error by yourself
All Public and Semi-Public methods are accessible . But Private methods are not and library will throw error if you tried to access them.
Logs are disabled by default but if you want library to maintain logs use GT_EnableLogs() method to enable logs. or if you want to disable logs again you can use GT_DisableLogs() method.
As a demo of this library Assault-Cube Trainer is included to show demo of all the GTLibc and GTConsole methods and how to use them in making simple game trainer.
DOCUMENTATION INFO : All Public and Semi-Private methods are well documented. but private methods are not documented as it was not necessary to do so.
VERSION INFO :
GTLIBC Version 1.0 Dated : 23/03/2018.
GTLIBC Version 1.1 Dated : 12/04/2018.
GTLIBC Version 1.2 Dated : 23/04/2018.
GTLIBC Version 1.3 Dated : 12/08/2018.
GTLIBC Version 1.4 Dated : 28/08/2018.
GTLIBC Version 1.5 Dated : 17/10/2019
GTLIBC Version 1.6 Dated : 04/07/2020
GTLIBC Version 1.6.1 Dated : 22/07/2020
GTLIBC Version 1.6.2 Dated : 08/10/2021
CHANGE LOGS FOR V 1.1
[+] Added Custom procedure injection and shellcode injection methods for advanced game process.
[+] Added Support for Microsoft's visual studio (MSVC compiler) and for Visual C/CPP.
[+] Added wrapper memory methods for better Memory management.
[-] Removed support for Multiple games found in memory.
[-] Removed feature where application used to exit after showing Error.
CHANGE LOGS FOR V 1.2
[+] Added new Console UI integrated Library called GTConsole.
[+] Added GT Prefix to all methods to differentiate it from regular WINAPI Methods.
[+] Time is now calculated from standard MACROS rather than WIN-API time methods.
[+] Added Private Macros GT_BUILD_CLI for GTConsole library and GT_USE_SOUND to use Sound methods.
[+] Changed try-catch prefix as-well to gt-try-gt-catch to differentiate it from regular CPP try-catch.
[+] Improved performance and removed buffer overflows.
CHANGE LOGS FOR V 1.3
[+] Added architecture/machine detection support.
[+] Added 64-bit support for shellcode injection.
[+] Added advanced game method DLL injection.
[+] Improved logs detection method.
CHANGE LOGS FOR V 1.4
[+] Added support for reading and writing Float values.
[+] Improved all read/write methods to adapt generic data types.
[+] Added new Macros for NULL and NIL.
CHANGE LOGS FOR V 1.5
[+] Added new DLL methods for Injecting Assembly code.
[+] Added new macro GT_BUILD_DLL for Advanced DLL Trainers.
[+] Added new method to get Static address.
[+] Added support for 64bit games to Read/Write address.
[-] Moved GT_ShowInfo and GT_ShowWarning to Public methods.
CHANGE LOGS FOR V 1.6
[+] Updated all Read/Write methods to take data size manually.
[+] Added new Wrapper methods for basic Read/Write functionality Like GT_Read4Byte(),GT_Write4Byte(),GT_ReadFloat() etc.
[+] Added new method GT_GetProcessModule() to get all modules of process and to use it enable GT_USE_PROC_MODULES macro.
[-] Removed Automatic data size detection due to high error rate.
[+] Added new method to Resume and Suspend Process/Threads - GT_SuspendResumeProcess()
[+] Added new method to detect Game architecture - GT_Is64bitGame()
[+] Added Automatic Game and Trainers architecture compatibility - 32Bit trainer can't access 64bit games.
[+] Added new Method to Read/Write single Pointer from address. GT_ReadPointer() and GT_WritePointer()
[+] Fixed some more errors and cleaned up the code.
CHANGE LOGS FOR V 1.6.1
[+] Support to add Time based Logs.
[+] Automatic detection for Elevated process (Run as Admin).
[+] Added Initialize console trainer method in GT_Console library.
[+] Added options to compile GTLibc with C++ use cpp_compile folder run batch files.
CHANGE LOGS FOR V 1.6.2
[+] Support to add Game File based Logs.
[+] Added options to supress (Errors and Warnings).
[+] Added Static and Shared library files check Dir (static_libs and shared_libs).
written and maintained by Haseeb Mir ([email protected])