Benötige Lehrplan

02/09/2015 00:39 bigplayer123#1
Hallo liebe Freunde,

seit Jahren bediene ich mich an den Werken von EPVP und nutze Hacks für Spiele wie Crossfire. Nun hab ich mich entschlossen, selber damit anzufangen und habe mich etwas (kaum :D ) damit auseinandergesetzt. Man müsse die Programmiersprache C++ beherrschen. Die Grundlagen habe ich bereits gelernt und ein einfaches HelloWorld war auch echt keine Herrausforderung. Was ich mich nun genau frage ist, was genau ich brauche um zu Codieren und zu hacken, da ich davon ausgehe, dass C++ eine riesige Ansammlung ist und ich nicht wirklich alles davon brauchen werde. Kann mir jemand einige Stichpunkte geben und vielleicht noch Links/Tuts dazu wo ich dies am besten lernen kann? Habe mir vorgenommen spätestens in den nächsten 2 Jahren etwas zu veröffentlichen, ich schätze das sollte reichen, sobald ihr mir eine Starthilfe geben könnt. Danke im Vorraus :P
02/09/2015 04:44 warfley#2
Also C++ muss man nicht unbedingt lernen, man kann so ziemlich jede Sprache nehmen. Und um meine persönliche Meinung einfließen zu lassen, andere Sprachen, z.B. C# oder Python habe Riesige Standard Bibliotheken, viel größer als der Standard von C++, und damit ist es einfacher schnell gute Resultate zu erbringen, und gegenüber C++ birgt es kaum Nachteile (Zumindest im kleineren Bereich von z.B. auch Hacks).

Zunächst würde ich mir die Simple Nutzung der WinAPI ansehen, auf die du zum größten teil letztlich zurückgreifen wirst. Speicherverwaltung ist auch etwas dass du dir ansehen solltest. Auch durchaus wichtig ist Netzwerk Kommunikation und Protokolle. Vielleicht noch Direct X, falls du vor hast in die Zeichenroutine der Spiele einzugreifen.
Zu guter letzt gibt es noch reverse engineering, bei dem du dich mit den Arbeitsschritten eines Kompilierten Programmes auseinander setzt, und damit dann versuchst Teile des Programmes in Hochsprachen zu rekonstruieren und zu analysieren.
02/09/2015 05:43 bigplayer123#3
Ich habe mit Fachchinesisch und einigen schwierigen Themen gerechnet aber obwohl du das möglichst einfach formuliert hast hab ich jegliche Motivation verloren und bin überzeugt das ich das nicht schaffen werde. Ich danke dir, das Thema kann geschlossen werden :/
02/09/2015 12:28 Shadow992#4
Quote:
Originally Posted by bigplayer123 View Post
Ich habe mit Fachchinesisch und einigen schwierigen Themen gerechnet aber obwohl du das möglichst einfach formuliert hast hab ich jegliche Motivation verloren und bin überzeugt das ich das nicht schaffen werde. Ich danke dir, das Thema kann geschlossen werden :/
Und dabei hat er sich sogar echt noch zurückgenommen.
Tatsächlich kriegt man in 2 Jahren schon genug hin (angenommen man geht von 0 auf 100, wie es bei dir aussieht, da du C/C++ scheinbar kaum beherrscht), um einfache Hacks zu machen (diese sollte man dann aber nicht/kaum benutzen, da sie sehr schnell erkannt werden werden).
Wenn du es wirklich unbedingt willst und viel Zeit investierst, dann kommst du mit 2 Jahren für einfache Sachen sogar recht gut klar.
Ansonsten, wenn du eher wie der Durchschnitt bist, solltest du ein bisschen mehr Zeit ansetzen, zumindest wenn du nicht nur Copy & Pasten willst.
Dann denke ich sind 3 Jahre ein guter Richtwert.
Ich spreche da nur einmal beispielhaft von mir:

Ich habe C/C++ rund 5x angefangen "intensiver" zu lernen und dann aus Frustration wieder weggepackt.
Insgesamt dürfte ich rund 3 Jahre gebraucht haben bis ich wirklich davon überzeugt war, dass ich es einigermaßen kann.
Parallel zu der Zeit habe ich jedoch schon mit AutoIt und CheatEngine rumgespielt, habe mir also grundlegende Sachen schon angeeignet.

Danach möchte ich behaupten hat es noch einmal 1-2 Jahre Erfahrung gebraucht bis ich wirklich 100% verstand was bei einem Hack passiert, was Reverse Engineering bringt, wo die Tücken sind und wie man seine Programme "versteckt" vor den Hack-Shields.

Ums mal zusammenzufassen dürfte der durchschnittliche Ablauf, ausgehend von deinem Wissensstand, so ausehen:
- Copy & Pasta mit kleinen Modifikationen kriegste in nen paar Monaten hin
- Einigermaßen verwendbare Hacks, die du nicht kopiert hast kriegste in rund 2-3 Jahren hin
- Für einen guten Überblick/Durchblick kannste noch einmal ein oder zwei Jährchen veranschlagen.

Wenn C/C++ nicht deine erste Programmiersprache ist, kannst du von der Zeit oben insgesamt 1-3 Jahre abziehen (je nachdem welche Sprache du davor benutzt hast).

Ansonsten falls es dich immernoch interessiert, solltest du dich besonders am Anfang mit folgenden Themen beschäftigen:

- Allgemein erst einmal C/C++ lernen
- Cheat Engine & Memory Manipulation
- Pointer/Referenzen
- Datentypen-, Objekte-, Arrayaufbau (im fertigen Binary bzw. im Arbeitsspeicher)
- WinApi (besonders MemoryRead/Write)

Damit hast du dann ein Grundgerüst auf das du aufbauen kannst.
Anschließend kannst du dann vertiefen und so Sachen ansehen wie:

- Detours/Hooks/CodeCaves
- Reverse Engineering/Assembler
- Anti-Hackshield Codes/"Hack hiding"

Oft wird darüber hinaus noch folgendes benötigt:

- Encryption/Decryption Verständnis
- Netzwerkkommunikation
- Grundverständnis von der Speicherverwaltung auf Unix/Windows allgemein
- Dlls erstellen/injecten
- Anti-Anti-Debugging/Reverse Methoden

Weniger selten (aber durchaus oft vorteilhaft) sind so Sachen wie:

- Grundverständnis von Multithreading
- Mathematischer Blickwinkel aufs Spiel (Kolisions-Erkennung, Kameraperspektive, etc.)
- Heuristiken ala A* Algorithmus u.ä.

Wenn du also wirklich ernsthaft das Thema durchsteigen willst und wirklich verstehen willst was da abgeht (zumindest in großen Teilen), dann wirst du viel länger als 2 Jahre brauchen.
02/09/2015 18:15 warfley#5
Jetzt verschreck den Armen doch nicht mit einer solch großen Zeit Angabe.
Wenn er sich ranhält kann er nach nem halben-drei viertel Jahr schon die Grundlagen, und auch schon erste Ergebnisse erziehlen (Mit viel Google). Dann fehlt halt nur noch die Anwendungserfahrung, um dann besser zu werden und was richtiges auf die Beine zu stellen.
02/09/2015 19:30 Dr. Coxxy#6
Quote:
Originally Posted by warfley View Post
Jetzt verschreck den Armen doch nicht mit einer solch großen Zeit Angabe.
Wenn er sich ranhält kann er nach nem halben-drei viertel Jahr schon die Grundlagen, und auch schon erste Ergebnisse erziehlen (Mit viel Google). Dann fehlt halt nur noch die Anwendungserfahrung, um dann besser zu werden und was richtiges auf die Beine zu stellen.
steht doch
Quote:
- Copy & Pasta mit kleinen Modifikationen kriegste in nen paar Monaten hin
restlichen zeitangaben sind durchaus realistisch, könnte man eigtl noch etwas ausarbeiten und mal sticky draus machen.
02/12/2015 18:43 Warnuk3r#7
Du hast ein Hello World Programm hinbekommen und willst dann mit Hacks anfangen? Hahahaha xD