Trainer , trainer ( angl. trainer ) - program určený ke změně parametrů hry (například "body života", aby byl hráč "nesmrtelný"), obvykle pracují přímo s RAM počítače . Nejužitečnější pro hry, které neposkytují cheat kódy.
V 80. a 90. letech byly trenažéry běžně vkládány hackery přímo do kódu hry . Při spuštění hry byl nejprve spuštěn trenér s dialogovým oknem "Chcete používat cheaty ?" Dále byl proveden kód hry. U jména školitele byly použity sčítací znaménka (+), jedna pro každou možnost školitele. Například „Group of Hackers presents: Game+++“ (3 možnosti, například: nesmrtelnost, nekonečná munice a teleportace).
Moderní trenažéři obvykle běží jako samostatný program (před hrou) a ve svých názvech používají jeden znak přidání s řadou možností, jako je Doom 3 Trainer +15 . Kromě toho moderní trenažéři pracují s pamětí RAM hry a ne s jejím spustitelným souborem, protože provádění změn ve spustitelném souboru je komplikované systémy ochrany proti kopírování.
K vytvoření trenérů se používají paměťové dumpery, debuggery a disassemblery. Nejjednodušší způsob, jak vytvořit trenéra, je hledat v paměti hodnoty, které odpovídají požadovanému parametru hry. Poté jej změňte a znovu vyhledejte ve výsledném seznamu. Po několika iteracích s největší pravděpodobností vznikne malý seznam adres , jejichž hodnoty se můžete pokusit změnit. Existuje mnoho utilit ( ArtMoney , Cheat'o'Matic ... ), které automatizují proces hledání a změny hodnot.
V některých případech požadovaná hodnota hry neustále mění svou pozici v paměti. V tomto případě můžete zkusit najít ukazatel na něj (možná s mírným posunem, pokud je hodnota hry v nějaké datové struktuře). Pokud ukazatel také změní svou pozici v paměti, můžete hledat ukazatel na tento ukazatel atd. Můžete také umístit body přerušení na přístup k adrese hodnoty hry a analyzovat kód, který je čte nebo mění.
Pokud je herní hodnotou pole nějaké třídy, pak můžete vyhledat instance této třídy tak, že ukážete na tabulku virtuálních metod. Nalezení tabulek virtuálních metod není obtížné díky jejich specifické struktuře. Navíc často obsahují ukazatel na název třídy. Při hledání instancí třídy je žádoucí zjistit, zda byla smazána pomocí příznaků správce paměti (což závisí na programovacím jazyce, ve kterém je hra napsána).
Trenéři se vytvářejí následujícími způsoby:
Existují 3 typy her, pro které lze trenéry vytvořit různými způsoby:
Pokud má hra oficiální žebříček nebo je hra online (a ne všechny výpočty se provádějí na straně serveru), pak existence trenérů ničí ducha hry. V tomto případě musíte zabudovat systém ochrany před trenéry, protože systémy ochrany proti kopírování tento úkol nezvládají. K tomu se zašifrují (a před použitím krátce dešifrují) nejdůležitější parametry hry nebo se vytvoří zašifrovaná kopie (se kterou se neustále porovnává původní parametr). Chcete-li obejít takové ochrany, nelze se obejít bez rozebrání programu.
Školitelé mohou být antivirovým softwarem rozpoznáni jako virus/trojský kůň nebo potenciálně nebezpečný program. Je to dáno tím, že trenažéry jsou většinou programy, které zachycují stisky kláves a mění obsah paměti jiných programů (her) a v závislosti na nastavení heuristického analyzátoru konkrétního antiviru mohou být blokovány nebo smazány. Zpravidla se jedná o falešně pozitivní nálezy, i když existují výjimky [1] .