Einzelnen Beitrag anzeigen

perle

Registriert seit: 8. Apr 2004
183 Beiträge
 
Delphi 7 Enterprise
 
#22

Re: NFSU II Trainer

  Alt 9. Mär 2005, 14:30
mh aber dadurch dass du die aufgerufene Funktion einfach nur "ausNOPst" haben die Gegner ebenso wie du unendlich Nitro. Besser wäre es , wenn du an eine freie Speicherstelle eigenen Code injecten würdest (wobei wieder die Frage nach der Legalität zu klären wäre).

aktivieren:
Code:
Offset <Adresse von freiem Speicherbereich hier einfügen>   <--- Adresse von deiner Funktion
mov word ptr [ecx+0x3B8],0x5AAB                             <--- schreibe 0x5AAAB (23211 in dez. = Höchster Nitro Wert stufe 3) nach [ecx+0x3B8]
mov eax,[ecx+0x3B8]                                         <--- packe diesen Wert nach eax
Jmp 0x449FB9                                                 <--- und springe wieder zur eigentlichen Codestelle zurück

Offset 0x449FB3                                              <--- Adresse, wo das schreiben eines neuen Nitrowertes veranlasst wird
jmp <Adresse von freiem Speicherbereich hier einfügen>      <--- statt direkt zu überschreiben, springen wir zu unserer Funktion
nop                                                         <--- da die Originale Anweisung 6 bytes lang war , unser jmp aber nur 5 bytes hat fügen wir ein NOP an
deaktivieren:
Code:
Offset 0x449FB3                                              <-- stelle den Ursprünglichen Code wieder her.
mov eax,[ecx+0x3B8]
Bei mir befand sich bei 0x10ABF ein freier Code Cave. Du musst also folgende Offsets verändern :

aktivieren:

Code:
10ABF 66 C7 81 B8 03 00 00 AB 5A 8B 81 
10ACA B8 03 00 00 E9 E6 94 43 00 
449FB3 E9 07 6B BC FF 90
deaktivieren:
Code:
449FB3 8B 81 B8 03 00 00
Ich hoffe das war verständlich genug .
  Mit Zitat antworten Zitat