• 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 Gamehacking Gamehacking
« Zurück 1 ... 3 4 5 6 7 8 Weiter »
Adressen-Probleme...

Ansichts-Optionen
Adressen-Probleme...
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#29
23.07.2012, 00:25
Hey,
schön das du nicht aufgibst und versuchst immer weiter zu lernen. Weiter so!

(22.07.2012, 21:33)FPS-Player schrieb:
Zitat:Bei diesem Code gibts nichts auseinanderzupflücken...
[code=ASM]JustCause2.exe+4103F0 - F3 0F11 46 40 - movss [esi+40],xmm0[/code]
Der erste Teil beschreibt die Position wo diese Anweisung zu finden ist. Und da sehen wir das diese Anweisung in der "JustCause2.exe" an Adresse "JustCause2.exe+4103F0" zu finden ist. Und da die Basisadresse der EXE Datei im Speicher immer diesselbe ist, nämlich 0x400000h, so könnte ich auch statt "JustCause2.exe+4103F0" auch einfach nur "008103F0" schreiben. Weil, wenn ich zur Basisadresse von 0x400000h den Wert 0x4203F0h addiere ich eben den HEX Wert 008103F0 erhalte.
Aha! Das habe ich verstanden. Gilt denn die Basisadresse 0x400000h nur für Just cause 2 oder generell für jedes Spiel?
Das gilt theoretisch für jede .exe. Also jedes Spiel, in dem die Cheats in einer .exe lokalisiert sind, haben die Basisadresse von 0x400000h. Wenn das Spiel jedoch über eine Dynamic Link Library z.B den ganzen Timerkram steuert, dann musst du erst die BaseAdresse der dll ausfindig machen. Wie das Wort dynamic (dynamisch) schon sagt, werden diese Libraries immer an andere Orte geladen.

(22.07.2012, 21:33)FPS-Player schrieb:
Zitat:Die Anweisung die unsere Timer Adresse beschreibt ist genau 5 Bytes groß bzw. lang. Und unser reiner Cheatcode ist im Endeffekt 10 Bytes lang...
[code=ASM]F3 0F 10 46 44 - movss xmm0,[esi+44]
F3 0F 11 46 40 - movss [esi+40],xmm0[/code]
Also muss eben eine Codecave her. Und da wir durch den Sprung zu dieser Codecave den Originalcode "movss [esi+40],xmm0" überschreiben da können wir uns diesen auch gleich zu unseren Zwecken ausnutzen.
Halt! Überschreiben können wir den Code ja nicht, da sonst das Spiel abschmiert. Du meinst sicherlich, das wir sozusagen einen Bypass zu diesem Code legen - unsere Codecave...oder?
Nein, wir müssen den Originalcode überschreiben. Anders kommen wir ja nicht zur CodeCave. aus movss [esi+40], xmm0 wird Jmp AdresseCodecave. Deswegen müssen wir auch im Endeffekt den Originalcode wieder in die CodeCave schreiben, da sonst das Spiel nicht weiss was es machen soll.

(22.07.2012, 21:33)FPS-Player schrieb:
Zitat:Und wie ich da bereits sagte wird in [ESI+40], was unsere Timer Adresse ist, immer wieder der Wert des XMM0 Registers kopiert. Die Zeit nimmt also ab. Aber direkt neben der Adresse des tatsächlichen Zeitwertes befindet sich auch die Adresse mit dem maximalen Zeitwert bzw. dem Zeitwert bei vollem Balken.
Also...
[ESI+40] = Tatsächlicher Zeitwert
Timer Adresse + 4 Bytes = Maximaler Zeitwert

Man könnte das auch so schreiben
[ESI+40+4] aber [ESI+44] ist ja dasselbe
Ah, also wäre - nur zur Verdeutlichung - der Timer, bzw. die Adresse [ESI+30] --> sprich ablaufende Zeit, müsste ich, wenn ich den max. Zeitwert einstellen wollte immer (also in jedem Fall/Spiel) 4 Bytes dazurechnen, so das ich dann auf [ESI+30+4] käme, also [ESI+34], richtig?
Nein, so einfach ist das leider nicht. Der sILeNt heLLsCrEAm hat sich die Struktur von der in ESI befindlichen Adresse angeguckt. Also folgendes Szenario:
ESI beinhaltet die Struktur zum Spieler (also wo Daten über den Spieler "gespeichert" werden)
in ESI+4 befindet sich z.B der Name
in ESI+8 die Lebenspunkte
in ESI+12 die Erfahrungspunkte
u.s.w
in Pseudocode sehe das folgendermaßen aus:

Code:
1
2
3
4
5
6
Struct Player
{
int iName;
int iHealth;
int iXP;
};

Jedoch ist das vom Programmierer abhängig. Er hätte die Struktur auch folgendermaßen aufbauen können:

Code:
1
2
3
4
5
6
Struct Player
{
int iHealth;
int iName;
int iXP;
};

Dann wäre bei ESI+4 die HP zu finden.

(22.07.2012, 21:33)FPS-Player schrieb:
Zitat:Der Sprung zur Codecave war an Adresse "JustCause2.exe+4103F0", oder anders geschrieben an Adresse "008103F0". Da der Sprung, genauso wie der Originalcode, 5 Bytes lang/groß ist addieren wir zu dieser Adresse 5 Bytes hinzu. Also müssen wir zu Adresse "JustCause2.exe+4103F5", oder anders geschrieben zu Adresse "008103F5" zurückspringen.

Ok, auch verstanden! Aber woher weiß ich, das der Originalcode 5 Bytes groß war/ist?
Dazu guckst du dir einfach die Opcodes des Befehls (F3[1] 0F[2] 11[3] 46[4] 40[5]) an.



(22.07.2012, 21:33)FPS-Player schrieb: Hmm, trotz CE oder AM muß man ja tatsächlich ein bisschen Programmieren können (oder zumindest etwas davon verstehen)... Junge Junge...
Es ist auf jeden Fall nicht kontraproduktiv Happy
"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"
[Bild: hoglogo_smalpxga.jpg]
Homepage Suchen
Antworten
Share Thread:            


Nachrichten in diesem Thema
Adressen-Probleme... - von FPS-Player - 11.03.2012, 14:26
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 11.03.2012, 15:17
RE: Adressen-Probleme... - von Hatschi - 11.03.2012, 16:08
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 11.03.2012, 16:59
RE: Adressen-Probleme... - von Hatschi - 11.03.2012, 17:52
RE: Adressen-Probleme... - von Acubra - 11.03.2012, 20:22
RE: Adressen-Probleme... - von Hatschi - 11.03.2012, 20:27
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 11.03.2012, 21:39
RE: Adressen-Probleme... - von Hatschi - 11.03.2012, 22:33
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 11.03.2012, 23:32
RE: Adressen-Probleme... - von FPS-Player - 12.03.2012, 12:26
RE: Adressen-Probleme... - von DNA - 12.03.2012, 17:07
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 12.03.2012, 18:38
RE: Adressen-Probleme... - von FPS-Player - 22.04.2012, 09:37
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 22.04.2012, 11:44
RE: Adressen-Probleme... - von FPS-Player - 22.04.2012, 12:42
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 22.04.2012, 13:32
RE: Adressen-Probleme... - von Acubra - 22.04.2012, 13:33
RE: Adressen-Probleme... - von FPS-Player - 24.04.2012, 19:36
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 24.04.2012, 20:16
RE: Adressen-Probleme... - von FPS-Player - 17.07.2012, 22:36
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 17.07.2012, 23:59
RE: Adressen-Probleme... - von FPS-Player - 18.07.2012, 13:48
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 19.07.2012, 13:40
RE: Adressen-Probleme... - von FPS-Player - 22.07.2012, 13:26
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 20.07.2012, 21:04
RE: Adressen-Probleme... - von iNvIcTUs oRCuS - 22.07.2012, 20:21
RE: Adressen-Probleme... - von FPS-Player - 22.07.2012, 21:33
RE: Adressen-Probleme... - von Acubra - 23.07.2012, 00:25

  • 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