Trainer , trainer ( eng. trainer ) - ett program utformat för att ändra spelparametrar (till exempel "livspoäng" för att göra spelaren "odödlig"), de arbetar vanligtvis direkt med datorns RAM . Mest användbart för spel som inte tillhandahåller fuskkoder.
På 1980- och 1990 - talen bäddades tränare ofta in av hackare direkt i spelkoden . När spelet startade lanserades tränaren först med dialogrutan "Vill du använda fusk ?" Därefter kördes spelkoden. Namnet på tränaren använde tilläggstecken (+), ett för varje alternativ för tränaren. Till exempel, "Group of Hackers presents: Game+++" (3 alternativ, till exempel: odödlighet, oändlig ammunition och teleportering).
Moderna tränare körs vanligtvis som ett fristående program (före spelet) och använder ett enda tilläggstecken med ett antal alternativ efter det i sina namn, till exempel Doom 3 Trainer +15 . Dessutom arbetar moderna tränare med spelets RAM, och inte dess körbara fil, eftersom att göra ändringar i den körbara filen är komplicerat av kopieringsskyddssystem.
För att skapa tränare används minnesdumpare, debuggers och demonterare. Det enklaste sättet att skapa en tränare är att leta i minnet efter värden som matchar den önskade spelparametern. Ändra det och sök i listan igen. Efter flera iterationer kommer det troligen att finnas en liten lista med adresser , de värden som du kan försöka ändra för. Det finns många verktyg ( ArtMoney , Cheat'o'Matic ...) som automatiserar processen att hitta och ändra värden.
I vissa fall ändrar det önskade spelvärdet ständigt sin position i minnet. I det här fallet kan du försöka hitta en pekare till den (möjligen med en liten offset om spelvärdet finns i någon datastruktur). Om pekaren också ändrar sin position i minnet kan du leta efter en pekare till denna pekare etc. Du kan också sätta brytpunkter för att komma åt adressen till spelvärdet och analysera koden som läser eller ändrar dem.
Om spelvärdet är ett fält av någon klass, kan du slå upp instanser av denna klass genom att peka på den virtuella metodtabellen. Att hitta virtuella metodtabeller är inte svårt på grund av deras specifika struktur. Dessutom innehåller de ofta en pekare till klassnamnet. När man letar efter instanser av en klass är det önskvärt att avgöra om den har tagits bort av minneshanterarens flaggor (vilket beror på vilket programmeringsspråk spelet är skrivet på).
Tränare skapas på följande sätt:
Det finns tre typer av spel för vilka tränare kan skapas på olika sätt:
Om spelet har en officiell topplista eller om spelet är online (och inte alla beräkningar görs på serversidan), så förstör förekomsten av tränare andan i spelet. I det här fallet måste du bygga in ett skyddssystem mot tränare, eftersom kopieringsskyddssystem inte klarar av denna uppgift. För att göra detta krypteras de viktigaste spelparametrarna (och dekrypteras en kort tid före användning) eller så skapas en krypterad kopia (med vilken den ursprungliga parametern ständigt jämförs). För att kringgå sådana skydd kan man inte göra utan att ta isär programmet.
Utbildare kan kännas igen av antivirusprogramvara som ett virus/trojan eller ett potentiellt farligt program. Detta beror på det faktum att tränare vanligtvis är program som fångar upp tangenttryckningar och ändrar innehållet i minnet i andra program (spel) och, beroende på inställningarna för den heuristiska analysatorn för ett visst antivirus, kan blockeras eller raderas. Som regel är det falska positiva, även om det finns undantag [1] .