OldSchoolHack

Register / Login English

Baseadresse, Offsets auslesen


icon Baseadresse, Offsets auslesen #1

Join Date: Dec 2012

Posts: 14

User-Rating:

3 positive
0 negative
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

Join Date: Sep 2010

Posts: 38

Ist die Basisadresse des Moduls,
wenn du eine dll injizierst, geht das mit Only registered and activated users can see links. 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

Join Date: Dec 2011

Posts: 97

User-Rating:

2 positive
0 negative
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.
Last edited by vedel (Sun 9. Jun 2013, 22:56)

Reason: no reason given

icon #4

Join Date: Aug 2007

Posts: 8643

User-Rating:

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

__________________

Hallo
icon #5

Join Date: Dec 2011

Posts: 97

User-Rating:

2 positive
0 negative
mein fehler

...
btw was ist aus https://www.oldschoolhack.me/irc geworden?
Last edited by vedel (Tue 11. Jun 2013, 22:51)

Reason: no reason given

icon #6

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
wenn du nen IRC Client hast, dann ist die Adresse

irc.oldschoolhack.de

__________________

Hallo