OldSchoolHack

Registrieren / Anmelden Deutsch

Baseadresse, Offsets auslesen


icon Baseadresse, Offsets auslesen #1

Anmeldungsdatum: Dez 2012

Beiträge: 14

Benutzer-Bewertung:

3 positiv
0 negativ
Hi,

Nachdem ich in Mw3 meinen ersten Trainer mit Ammo usw. programmiert habe. Wollte ich jetzt einen unlimited Ammo bw Blocks hack in Ace of Spades Beta programmieren:

"client.exe"+013CF800
Offsets: 650, 36c, 70, c, 5c

Mein Frage ist, was ist die "client.exe" bzw welche Adresse hat sie?
Zum auslesen hätte ich mir gedacht:
"client.exe"+0x13CF800
auslesen
auslesen + 650
auslesen
auslesen + 36c
auslesen
auslesen + 70
auslesen
auslesen + c                                                             
auslesen
auslesen + 5c
_______________________________________________________________________
^           
 |
Ist das so korrekt?

MFG
PS: nice Layout

icon #2

Anmeldungsdatum: Sep 2010

Beiträge: 38

Ist die Basisadresse des Moduls,
wenn du eine dll injizierst, geht das mit Um Links zu sehen, musst du dich registrieren glaube ich.

Wenn du einen externen Hack schreibst, ermittelst du eine Liste aller Module im Prozess mit CreateToolhelp32Snapshot.

Mit Module32First und Module32Next wird die Liste iteriert.
Du erhälst bei jeder Iteration eine Struktur vom Typ MODULEENTRY32.
Der Eintrag szModule der Struktur beinhaltet den Modulnamen. Der Eintrag modBaseAddr beinhaltet dann die Baseadresse.
icon #3

Anmeldungsdatum: Dez 2011

Beiträge: 97

Benutzer-Bewertung:

2 positiv
0 negativ
Ein wenig C&P zauber:

Extern:

TEXT Code:
  1. DWORD GetModuleBase(LPSTR lpModuleName, DWORD dwProcessId){
  2.   MODULEENTRY32 lpModuleEntry = {0};
  3.   HANDLE hSnapShot = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwProcessId );
  4.   if(!hSnapShot)
  5.      return NULL;
  6.   lpModuleEntry.dwSize = sizeof(lpModuleEntry);
  7.   BOOL bModule = Module32First(hSnapShot, &lpModuleEntry);
  8.   while(bModule){
  9.      if(!strcmp( lpModuleEntry.szModule, lpModuleName)){
  10.         CloseHandle(hSnapShot);
  11.         return (DWORD)lpModuleEntry.modBaseAddr;
  12.      }
  13.      bModule = Module32Next( hSnapShot, &lpModuleEntry );
  14.   }
  15.   CloseHandle(hSnapShot);
  16.   return NULL;
  17. }

Und dann später:

DWORD dwClientBase = GetModuleBase(L"client.exe", pid);
oder so.

MfG


EDIT:
Moment. Sicher das du 5 Offsets brauchst? du kannst beim CE Pointer Scan auch einstellen das er nur nach 2 suchen soll. Klappt bei mir meistens.
Zuletzt geändert von vedel (So 9. Jun 2013, 22:56)

Grund: kein Grund angegeben

icon #4

Anmeldungsdatum: Aug 2007

Beiträge: 8646

Benutzer-Bewertung:

199 positiv
33 negativ
L"client.exe" ist bei der Funktion dann aber falsch als Aufruf, der erste Parameter ist nämlich nur ein char*

__________________

Hallo
icon #5

Anmeldungsdatum: Dez 2011

Beiträge: 97

Benutzer-Bewertung:

2 positiv
0 negativ
mein fehler

...
btw was ist aus https://www.oldschoolhack.me/irc geworden?
Zuletzt geändert von vedel (Di 11. Jun 2013, 22:51)

Grund: kein Grund angegeben

icon #6

Anmeldungsdatum: Aug 2007

Beiträge: 8646

Benutzer-Bewertung:

199 positiv
33 negativ
wenn du nen IRC Client hast, dann ist die Adresse

irc.oldschoolhack.de

__________________

Hallo