Also um wirklich ein guter "Hacker" (Game/Software Cracker) zu werden braucht es auf jeden Fall Zeit.
- Als erstes solltest du anfangen eine Programiersprache zu lernen, dabei sind C# und Java gut um die Grundlagen des Programierens zu lernen ohne gleich alle details zu beherrschen. Am Ende wirst du dich aber mit C/C++ befassen müßen, da ein großteil der Spiele und Windows damit programiert wurden. Wenn man einen Hack erstellen will, sollte man wissen, wie man ihn programmiert und wie das Zielprogram funktioniert.
- Weiter sind Grundlagen der Systemarchitektur sehr wichtig, du solltest dich also auch damit befassen, wie ein Computer funktioniert (CPU, Speicher, Netzwerke, ...) und was ein Betriebssystem macht (als kleiner Tip vorweg "Windows API" und "Dll injection")
- Wenn du die basics der Programierung behherrscht kommt der nächste Schritt, Assambler. Da du bei Spielen in der Regel nie den Sourcecode hast wirst du nicht umherkommen, dich mit der Maschinensprache zu beschäftigen und insbesondere wie man mit einem Debugger umgeht. Mittels Reversengeneering kann man viele Details über ein Programm herausfinden.
Um eine Vorstellung zu bekommen, wieviel Zeit man für das ganze brauch, nach 1-3 Monaten hat man die Grundlagen des Programierens gut drauf, um so mehr du Programmierst und um so mehr du dich damit befasst, desto besser wirst du. Nach 1-2 Jahren solltest du schon die Standartprobleme kennen und auch schon einige knifflige Probleme gelößt haben. (google hilft oft ^^) Nach 3-4 Jahren, falls du dich wirklich damit außeinandersetzt, kommt man langsam an die Grenzberreiche der Programmierung (Rootkits, Treiber, Cryptographisch sichere Kommuniation) und sollte die Grundlagen der Interna von Windows behherrschen. (PE Format, Speicher managment, usw.) Man erkennt dieses Stadium recht leicht, wenn man das erstemal in google nach einer Lösung zu einem Problem sucht und man gerade einmal 2-3 Antworten zu dem Thema findet.
Mfg
KumaT
//EDIT
@Franz55 Java ist fürs hacken leider ziemlich ungeeignet, da es mit einer VM arbeitet und nur über große Umwege (durch C/C++) die Manipulation von andere Prozessen erlaubt. Um Programieren zu lernen ist Java recht praktisch, da man weniger Fehler machen kann. (Ich hatte auch mal mit Java angefangen)