Trainer , trainer ( eng. trainer ) - et program designet til at ændre spilparametre (for eksempel "livspoint" for at gøre spilleren "udødelig"), de arbejder normalt direkte med computerens RAM . Mest nyttigt til spil, der ikke giver snydekoder.
I 1980'erne og 1990'erne blev trænere almindeligvis indlejret af hackere direkte i spilkoden . Da spillet startede, blev træneren først lanceret med dialogboksen "Vil du bruge snydekoder ?" Dernæst blev spilkoden eksekveret. Navnet på træneren brugte tilføjelsestegn (+), et for hver mulighed for træneren. For eksempel, "Group of Hackers præsenterer: Game+++" (3 muligheder, for eksempel: udødelighed, uendelig ammunition og teleportering).
Moderne trænere kører normalt som et selvstændigt program (før spillet) og bruger et enkelt tilføjelsestegn med en række muligheder efter det i deres navne, såsom Doom 3 Trainer +15 . Derudover arbejder moderne trænere med spillets RAM og ikke dets eksekverbare fil, da det er kompliceret at lave ændringer i den eksekverbare fil af kopibeskyttelsessystemer.
Til at lave trænere bruges memory-dumpere, debuggere og disassemblere. Den nemmeste måde at oprette en træner på er at kigge i hukommelsen efter værdier, der matcher den ønskede spilparameter. Skift det derefter og søg i den resulterende liste igen. Efter flere gentagelser vil der højst sandsynligt være en lille liste over adresser , værdierne som du kan prøve at ændre. Der er mange hjælpeprogrammer ( ArtMoney , Cheat'o'Matic ...), der automatiserer processen med at finde og ændre værdier.
I nogle tilfælde ændrer den ønskede spilværdi konstant sin position i hukommelsen. I dette tilfælde kan du prøve at finde en pointer til det (evt. med en lille forskydning, hvis spilværdien er i en eller anden datastruktur). Hvis markøren også ændrer sin position i hukommelsen, så kan du kigge efter en pointer til denne pointer osv. Du kan også sætte breakpoints på adgang til adressen på spilværdien og analysere den kode, der læser eller ændrer dem.
Hvis spilværdien er et felt af en eller anden klasse, så kan du slå forekomster af denne klasse op ved at pege på den virtuelle metodetabel. At finde virtuelle metodetabeller er ikke svært på grund af deres specifikke struktur. Derudover indeholder de ofte en pointer til klassenavnet. Når man leder efter forekomster af en klasse, er det ønskeligt at afgøre, om den er blevet slettet af hukommelsesadministratorens flag (hvilket afhænger af det programmeringssprog, spillet er skrevet på).
Trænere oprettes på følgende måder:
Der er 3 typer spil, som trænere kan oprettes til på forskellige måder:
Hvis spillet har en officiel rangliste, eller spillet er online (og ikke alle beregninger udføres på serversiden), så ødelægger eksistensen af trænere spillets ånd. I dette tilfælde skal du indbygge et system til beskyttelse mod trænere, da kopibeskyttelsessystemer ikke kan klare denne opgave. For at gøre dette krypteres de vigtigste spilparametre (og dekrypteres i kort tid før brug), eller der oprettes en krypteret kopi (som den oprindelige parameter konstant sammenlignes med). For at omgå sådanne beskyttelser kan man ikke undvære at skille programmet ad.
Trænere kan blive genkendt af antivirussoftware som en virus/trojan eller et potentielt farligt program. Dette skyldes det faktum, at trænere normalt er programmer, der opsnapper tastetryk og ændre indholdet af hukommelsen i andre programmer (spil) og, afhængigt af indstillingerne af den heuristiske analysator for et bestemt antivirus, kan blokeres eller slettes. Som regel er der tale om falske positiver, selvom der er undtagelser [1] .