C++ Gamehacking Dll Tutorial

04/23/2013 20:04 Hiris#1
Grüßt euch, da mein first Post im anderen Thread mit dem external Hack schon ziehmlich voll mit Videos war fange ich jetzt hier einen 2ten an, da der andere im Prinzip auch ein anderes Thema behandelt, für Leute die nicht allzu erfahren sind, besteht der dringende Rat sich erst die anderen Tutorials auf
[Only registered and activated users can see links. Click Here To Register...]
anzuschauen um ein Grundverständniss zu bekommen, wie Hacks funktionieren und wie man einen external Hack mit C++ codet, was die Grundlage für dieses Tutorial und vorrausgesetzt wird.

Was ihr hier lernt? C++ Dll hacking mit GUI auf Opcodes und nicht auf Speicher bezogen, welche wir mit OllyDebug rausfinden, also nochmal eine deutliche Stufe komplexer als ein external Hack mithilfe von Cheatengine.

1. Part Hack Dll mit OllyDebug! - Die ersten Schritte

Weitere folgen, sobald etwas Feedback kommt^^
04/23/2013 20:47 -[LooP]-#2
Schöne sache wollte schon immer mal so was lernen ^^
04/23/2013 23:27 Jeoni#3
Vorerst: Ich muss gestehen, ich habe mir das Video nur kurz quasi im Schnelldurchlauf zu Gemüte geführt, also messt meinem Statement nicht allzu viel Bedeutung bei. Wenn ich dahe etwas kritisiere, was eigentlich im Video erläutert worden ist, weist mich bitte konstruktiv darauf hin. Des Weiteren ist zu sagen, dass das hier meine Meinung ist. Sie dient dazu, dem Ersteller des Tutorials eventuell Fehler aufzuzeigen und ihm so zu helfen. Ihr dürft mich gerne kritisieren, aber bitte keinen linguistischen Durchfall ala "Wenn's dir nicht gefällt, sieh's dir nicht an!!11" oder "Geh sterben! Niemand hat dich nach deiner Meinung gefragt !!!1einself". Danke :)

Warum braucht man für das angesprochene Thema eine DLL? Wenn keine Hooks o.Ä. kommen, kann man das, worauf das Video anspielt auch ganz leicht aus einem externen Programm machen. Das ist vielleicht sogar besser, weil es (vielleicht; ka) nicht so oft detected wird. Gibt immerhin keinen Unterschied zwischen Code (bzw die Opcodes, die ja für ASM-Anweisungen stehen) und Daten (wie z.B. die Anzahl der Kugeln im Lauf, etc), außer, die abweichende Protection und natürlich dass die Opcodes "ausgeführt" werden.

Abgesehen davon ist Olly nicht unbedingt notwendig. Es ist für viele (auch für mich) sicherlich komfortabler als der Debugger von Cheat Engine, aber mit diesem geht das genauso gut (sollte vielleicht erwähnt werden).

Dann noch "(...) müssen wir CE ausmachen, da es nicht von zwei Prozessen gleichzeitig attacht werden kann."
Vielleicht bin ich zu pingelig, aber ich schaue mir Tutorials an, um etwas zu lernen und dieser durchaus wichtige Punkt kommt hier leider zu kurz. Du musst ja nicht alles bis in's kleinste Detail erläutern, aber das fande ich nicht so schön.

Zudem ist scheint das Tutorial an ein paar Stellen ein bisschen chaotisch zu sein (z.B. "Wichtig sind die Opcodes" --> "Nein, vergesst das" oder "Öhm ... jetzt bin ich grad ein bisschen verwirrt"), was für den Einen oder die Andere zwar lustig anzusehen, aber für Anfänger vielleicht etwas verwirrend sein mag.

Ansonsten scheint das Tutorial ganz nett und die Stimme nicht nervig zu sein.

So, leider mehr kritik als Lob, aber ich hoffe, dass das kontruktiv genug war :D
Mit freundlichen Grüßen
Jeoni
04/24/2013 12:50 Hiris#4
Quote:
Originally Posted by Jeoni View Post
Vorerst: Ich muss gestehen, ich habe mir das Video nur kurz quasi im Schnelldurchlauf zu Gemüte geführt, also messt meinem Statement nicht allzu viel Bedeutung bei. Wenn ich dahe etwas kritisiere, was eigentlich im Video erläutert worden ist, weist mich bitte konstruktiv darauf hin. Des Weiteren ist zu sagen, dass das hier meine Meinung ist. Sie dient dazu, dem Ersteller des Tutorials eventuell Fehler aufzuzeigen und ihm so zu helfen. Ihr dürft mich gerne kritisieren, aber bitte keinen linguistischen Durchfall ala "Wenn's dir nicht gefällt, sieh's dir nicht an!!11" oder "Geh sterben! Niemand hat dich nach deiner Meinung gefragt !!!1einself". Danke :)

Warum braucht man für das angesprochene Thema eine DLL? Wenn keine Hooks o.Ä. kommen, kann man das, worauf das Video anspielt auch ganz leicht aus einem externen Programm machen. Das ist vielleicht sogar besser, weil es (vielleicht; ka) nicht so oft detected wird. Gibt immerhin keinen Unterschied zwischen Code (bzw die Opcodes, die ja für ASM-Anweisungen stehen) und Daten (wie z.B. die Anzahl der Kugeln im Lauf, etc), außer, die abweichende Protection und natürlich dass die Opcodes "ausgeführt" werden.

Abgesehen davon ist Olly nicht unbedingt notwendig. Es ist für viele (auch für mich) sicherlich komfortabler als der Debugger von Cheat Engine, aber mit diesem geht das genauso gut (sollte vielleicht erwähnt werden).

Dann noch "(...) müssen wir CE ausmachen, da es nicht von zwei Prozessen gleichzeitig attacht werden kann."
Vielleicht bin ich zu pingelig, aber ich schaue mir Tutorials an, um etwas zu lernen und dieser durchaus wichtige Punkt kommt hier leider zu kurz. Du musst ja nicht alles bis in's kleinste Detail erläutern, aber das fande ich nicht so schön.

Zudem ist scheint das Tutorial an ein paar Stellen ein bisschen chaotisch zu sein (z.B. "Wichtig sind die Opcodes" --> "Nein, vergesst das" oder "Öhm ... jetzt bin ich grad ein bisschen verwirrt"), was für den Einen oder die Andere zwar lustig anzusehen, aber für Anfänger vielleicht etwas verwirrend sein mag.

Ansonsten scheint das Tutorial ganz nett und die Stimme nicht nervig zu sein.

So, leider mehr kritik als Lob, aber ich hoffe, dass das kontruktiv genug war :D
Mit freundlichen Grüßen
Jeoni
Hab kein Problem mit Kritik, versuche mich trotzdem mal ein bisschen zu "rechtfertigen" ^^
Chaotisch -> Naja ich mache das ganze halt on the fly und ohne Notizen, ist eigentlich genau das was den anderen so auch gefallen hatt^^
Pingelig / Nicht genau genug -> Naja ich sehe es so das das in dem Moment einfach nicht für die Sache wichtig war und die Tut´s wurden beim external auch so schon immer sehr lang, darum hab ich versucht das etwas rauszufiltern^^
extern-> Dafür hab ich die letzten 7 Videos gemaacht (siehe Vorwort im ersten Post^^) wo ein external für genau das Spiel gecodet wurde, ein paar Sachen die ich mit der Dll vorhabe sind mit einem external nicht so möglich und außerdem geht es darum zu lernen wie man eine Dll nutzt, da ist das einfach ein gutes Beispiel finde ich^^

Edit:
Aja zum Cheat Engine Debugger... naja ich halte den für eine absolute katastrophe und habe mir das noch nie angetan mit dem zu Arbeiten, darum hab ich ihn auch garnicht erwähnt, aber hast recht, kann man sicher benutzen wenn´s einem besser gefällt, aber warum einen Knüppel nehmen wenn man auch ein Gewehr haben kann? ^^ Ist aber vielleicht auch Geschmackssache^^

Naja und laut meinen Infos macht es beim detecten 0 Unterschied ob Dll oder External, und ist für mich auch logisch, jedenfalls insofern wie ich mich in Hackshields etc. eingelesen habe und wie sie funktionieren^^
05/19/2013 12:50 NikM#5
Du machst dir das viel zu schwer den Anfang und das Ende einer Funktion zu finden.
OllyDBG kennzeichnet den Anfang einer Funktion mit einem '$' und umrahmt die Funktion meistens.


Und ein INT3 ist ein ein Byte langer Software Interrupt der häufig von Debuggern genutzt wird. Man setzt sie meistens als Breakpoints oder sie werden vom Compiler zwischen Funktionen gesetzt um Fehler abzufangen.
05/20/2013 16:10 xWaffeleisen#6
Quote:
Originally Posted by NikM View Post
Du machst dir das viel zu schwer den Anfang und das Ende einer Funktion zu finden.
OllyDBG kennzeichnet den Anfang einer Funktion mit einem '$' und umrahmt die Funktion meistens.
Zur Not muss man glaub STRG+A oder Rechtsklick -> Analyze machen, damit alles richtig angezeigt wird, gibt glaub auch noch Plugins die das ganze verbessern.
05/21/2013 00:37 Hiris#7
Yo ist mir im nachhinein auch aufgefallen das das in Olly auch geht, hatte das immer nur beim CE Debugger gesehen^^
Serie ist außerdem schon länger fertiggestellt *hab ich hier nie aktualisiert*
05/10/2014 03:47 Hiris#8
Auch hier sind die Source Codes wieder online falls da noch Interesse besteht :)