• Trainer
  • Forums
  • Suche
  • Members
  • Kalender
  • Hilfe
  • Extras
Forum stats
Show team
Neue Beiträge ansehen
Heutige Beiträge ansehen
Home of Gamehacking - Archiv
Login to account Create an account
Login
Benutzername:
Passwort: Passwort vergessen?
 



  Home of Gamehacking - Archiv Coding C, C#, C++, Visual C++
1 2 Weiter »
Mittels DLL Injection eine Methode im Spiel aufrufen

Ansichts-Optionen
Mittels DLL Injection eine Methode im Spiel aufrufen
b4d-b0y Offline
Junior Member
**
Beiträge: 3
Themen: 2
Registriert seit: Mar 2015
Bewertung: 0
#1
Question  10.11.2015, 19:11 (Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2015, 19:13 von b4d-b0y.)
Hallo, wie ist sowas möglich (was in der Überschrift steht) bzw. wie kann ich die Funktionen bzw. Methoden eines anderen Processes (in diesem Fall eines Spieles) finden?
(Gehen wir mal davon aus, dass kein Source Code vom Game verfügbar ist).

Z.B. ist es ein Spiel, wo der Spieler Geld bekommt und ausgibt. Dann gibt es ja mindestens eine Methode, die das Geld ändert z.B. setMoney().

- Wie und mit welcher Hilfe (Tools) kann man so eine Funktion/Methode finden?
- Wie benutzt man so eine gefundene Methode in eigener DLL, die man später injected?
Suchen
Antworten
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#2
10.11.2015, 20:35 (Dieser Beitrag wurde zuletzt bearbeitet: 21.06.2016, 01:41 von iNvIcTUs oRCuS.)
Hey,
da hast du dir ja mal wieder nicht die einfachste Aufgabe ausgesucht. Um umzusetzen was du dir vorstellst musst du ne Menge Ahnung von Assembler haben.
Du musst nämlich nicht nur in Erfahrung bringen welche die richtige Funktion ist, sondern auch wieviele Argumente die Funktion übergeben bekommt, welche das sind und was du Funktion zurückgibt. Dafür würde ich OllyDBG und IDA benutzen. Einfach über IDA ne statische Analyse der Funktion und Parameter machen und mittels Olly die Funktion breakpointen--> im Spiel ausführen--> gucken welche Adressen und Werte die Parameter haben. Die Funktion an sich würde ich folgendermaßen im Beispiel Geldcheat suchen:
1. Geldadresse finden (CheatEngine)
2. Find out what writes to this adress (CheatEngine)
3. in Olly breakpointen und Funktion reversen. Ggf. backtracen

Wenn du alle Informationen hast kannst du die Funktion über inline ASM callen (nicht empfehlenswert), oder indem du nen Funktionsprototyp definierst. Hier der Code dafür:

C Code
1
2
3
4
5
6
7
8
9
10
11
//Funktionsprototyp
typedef void(__thiscall *tSetMoney)(DWORD* pThis, int iMoney);
tSetMoney oSetMoney;
//Adresse funktion zuweisen
oSetMoney = (tSetMoney)(dwModuleBase + OFFSET_SETMONEY);

//Funktion ausführen
void myFunc()
{
     oSetMoney(&playerBase, 1337);
}

"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"
[Bild: hoglogo_smalpxga.jpg]
Homepage Suchen
Antworten
Share Thread:            


  • Druckversion anzeigen
  • Thema abonnieren


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste

  • Kontakt
  • Forum team
  • Forum stats
  • Nach oben
 
  • RSS-Synchronisation
  • Lite mode
  • Home of Gamehacking - Archiv
  • Help
 
Forum software by © MyBB - Theme © iAndrew 2014



Linearer Modus
Baumstrukturmodus