|
Thema |
Forum |
Letzter Beitrag |
Beiträge |
Zugriffe |
 |
MW3 geht mit OllyDbg nicht mehr
Erstellt am: So 14. Okt 2012, 20:54
M4x1m
Vorschau
Go To Post
Keine Ahnung, vielleicht erkennt MW3 den Debugger. Kenn mich mit der Materie aber nicht gut aus: http://stackoverflow.com/questions/10330147/how-do-i-bypass-isdebuggerpresent-with-ollydbg ... http://www.unknowncheats.me/forum/2-x-coding-and-tutorials/49700-bypass-aao-and-pb-anti-ollydbgchecks.html
|
Call of Duty: Modern Warfare 3 |
Di 16. Okt 2012, 12:20
von Mantarochen
|
4 |
506 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Hallo Leute, möchte gerne wissen, wie ich bestimmte Daten in einem Spiel (CS:S) mit OllyDbg finden kann. 1. Ich starte das Spiel (Deticated Server oder einfach lokal, ist erstmal egal). 2. Ich klinke mich in den hl2.exe ein dort wurden verschiedene DLLs geladen (engine.dll, client.dll) 3. Hier kann ich jetzt theoretisch den Stack, Heap, Code usw. ansehen Nun zu meinem Verständnisproblem: - Wieso haben Stack und Code einen anderen Adressbereich? Wird das im PE-Header festgelegt? http://www.os-forum.com/minix/net/images/bh_brk_sbrk.gif müsste das nicht zusammenhängend sein? - Wo landen im Endeffekt die Daten wie punchangle usw. und wie finde ich diese? Nach was sucht z.B. die Funktion "All referenced text strings" - im Stack, im Heap, in Funktionsnamen? Möchte die Daten dann mit ReadProcessMemory() auslesen. Gruß anothernewb
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Ist mir schon klar, dass was die Sektionen machen. Nur warum hat der Stack einen anderen Adressbereich als die Code-Sektion? Schaue mir gerade die Tutorials an, somit hat sich die Frage nach dem Finden der Adressen erstmal geklärt.
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Dachte immer, dass das Programm beim starten die Sektionen .data .bss .text nacheinander in den RAM lädt und dann an dem EntryPoint in das Programm einsteigt.
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Okay, ich schau mir mal die Tutorials an bin gerade beim Flashhack Danke
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Jo ich gammel lokal. Gibt es da trotzdem noch Möglichkeiten z.B. die Texturen aus dem RAM werfen oder so?
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Also ich habe jetzt den Breakpoint (mit F2) gesetzt, komme allerdings nicht mehr ins Spiel um die Flash zu werfen und mir dann EAX+140C anzuschauen. Habe ich ein Denkfehler? Müssten die Adressen nicht bei jedem Start anders sein, wegen ASLR usw. oder reicht es dann die Baseaddress von dem Modul (client.dll) + Adresse zu nehmen?
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Mega, danke! Will mit Reverse Engineering langsam mal anfangen, kommt man doch nicht drum rum
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
So habe jetzt mal versucht die BaseAddress von der client.dll zu bekommen, klappt scheinbar nicht (liefert immer 0 zurück), ich tippe darauf, dass er die client.dll nur über die hl2.exe bekommt. Was hab ich falsch gemacht? CPP Code: #include <iostream> #include <windows.h> using namespace std; int main() { HWND handle = NULL; while(handle == NULL) { handle = FindWindow(NULL, "Counter-Strike Source"); Sleep(100); } cout << "Counter-Strike Source wurde gefunden!" << endl; cout << (DWORD)GetModuleHandle ("client.dll") << endl; return 0; }
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Juhu Copy-Paste Hmkay, wer denkt sich bitte so lange Funktionen aus? Also die Funktion nimmt einen "Snapshot" von einem Prozess auf und sucht darin nach allen Modulen und vergleicht diese mit dem gesuchten 'const char'. Was soll das External bedeuten? Die Baseadresse müsste doch bei Olly im EBP Register stehen oder? Vielen Dank für die Hilfe
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Zitat ModulBases sind seit winxp random, musst also die funktion benutzen. oder was meinst du mit Baseadresse? Ich wollte herausfinden, wo ich die Base vom Modul (Die mir die Funktion gibt) im OllyDbg finde. Muss ich die Base-Adresse MINUS die Adresse von meinem Flashtimer als Offset nehmen?
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
TEXT Code: CPU Disasm Address Hex dump Command Comments 16095E52 F30F1041 0C MOVSS XMM0,DWORD PTR DS:[ECX+0C] 16095E57 0F2F80 0C140000 COMISS XMM0,DWORD PTR DS:[EAX+140C]
Also es geht um die Stelle, hier wird doch der XMM0 mit *EAX+140C verglichen. An EAX+140C steht aber nur 00-00-00-00. Auf jeden Fall habe ich zu EAX ein paar grüne Adressen mit CE gefunden, die er mir allerdings bei Doppelklick nur in die Tabelle reinläd und bei Rechtsklick -> Dissasamble in Memory Region zeigt er client.CreateInferface + 2EB97C an.
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Danke! Um jetzt noch zu wissen, was ich da gerade getan habe Wieso steht bei EAX+140C nur 00-00-00-00 und nicht der Pointer? Was macht CheatEngine da eigentlich? Wieso sucht man nach einer Adresse, die 140C unter die Flashadresse zeigt? So genug Fragen, sonst muss ich auf die stille Treppe.
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |
 |
Daten finden CS:S
( 1 2)
Erstellt am: Mo 15. Okt 2012, 01:32
anothernewb
Vorschau
Go To Post
Hmm, Java ich weiß nicht und dann auch noch Zugriff erlauben, nööö^^ Ich guck ma.
|
VB, C/C++, Delphi, etc |
Di 16. Okt 2012, 02:37
von anothernewb
|
23 |
1263 |