Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 23:18

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



dwFindPattern Crash

Discussion on dwFindPattern Crash within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
dwFindPattern Crash

Warum crasht der Prozess sobald ich dwFindPattern über einen Adress Bereich laufen lasse, der zu keinem Modul gehört? Die Adressen existieren doch trotzdem.

Hier ein bisschen Code dazu:
Code:
HMODULE module = GetModuleHandle(L"hl2.exe"); 
DWORD Anfang = ((DWORD)module - 0x300000);

DWORD vtablesource = dwFindPattern(Anfang, 0x300000, (PBYTE)"\xB0\x71\xDD\x4F", "xxxx");
Der Bereich der gescannt wird ist also 0x00100000 - 0x00400000.
Bei anderen Adress-Bereichen crasht der Prozess nicht.
Zwawo is offline  
Old 08/02/2012, 23:34   #2
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 451
Wenn nichts alloziert ist, gibt's ERROR_ACCESS_DENIED, also eine Access Violation (wenn was alloziert ist, aber die Berechtigungen fehlen, auf den entsprechenden Bereich zugreifen zu können, gibt's auch 'ne AV).

Der virtuelle Adressbereich umfasst die gesamten adressierbaren 4 GB (32-bit), allerdings ist dieser ja nur virtuell und muss auch auf einen physischen Bereich gemappt sein, du kannst ja keine 4 GB für jeden Prozess haben, die einfach immer da und ansprechbar sind.
link is offline  
Thanks
1 User
Old 08/02/2012, 23:55   #3
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Und gibt es eine Möglichkeit dieses Problem zu lösen?

VirtualProtect lößt das Problem für kurze Zeit jedoch kommt dann eine Problemmeldung, trotzdem läuft das Programm noch normal weiter bis ich auf "schließen" im Fenster der Problemmeldung klicke.
Zwawo is offline  
Old 08/03/2012, 01:35   #4
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 451
Eine offensichtliche Lösung wäre, dass du einfach nicht eine solche Reichweite angibst, sondern vorher sicher gehst, dass die Speicheradressen gemappt und lesbar sind bzw. die Reichweite auf eine komplett lesbare Region eingrenzt.

Du könntest den Call auch in ein try-Konstrukt packen und die Adressen, die Exception werfen, überspringen und auch die nächste verfügbare Adresse via VirtualQuery oder HeapWalk finden.

Wenn du allerdings irgendeinen VTable Ptr suchst, solltest du die Suche nicht auf ein Modul beschränken können?
Also dann die Base Adresse von z.B. hl2.exe, engine.dll, w/e holen, die Größe des Moduls auslesen und dann halt nur in diesem Bereich suchen.
link is offline  
Thanks
1 User
Old 08/03/2012, 02:00   #5
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Ja, ich suche einen VTable Pointer jedoch gehört wie ich das sehe der Adress Bereich indem die vtable erstellt wird (Leider halt immer im Bereich von 0x00100000 - 0x00400000) zu keinem Modul. Wenn ich z.B. in Ollydbg das Stück Analysieren will kommt ja auch die Fehlermeldung dass dieses nicht ginge weil der Code zu keinem Modul gehört. Die VTable gibt es halt noch in der d3d9.dll, diese wird aber nicht verwendet.
Auch mit VirtualProtect kriege ich ein Access Violation Error?

//Der Bereich muss halt auch wirklich existieren, ich weiß aber nicht genau wie ich das eingrenzen könnte muss nich wohl nochmal mehr schauen.

//Das mit try und catch hört sich gut an aber da wird es Probleme mit access violations etc geben...
Zwawo is offline  
Old 08/03/2012, 22:57   #6


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Dann scheint da ein Protector am Werke zu sein, VTables sind normalerweise immer statisch im Modul abgelegt.
MrSm!th is offline  
Old 08/04/2012, 22:22   #7
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Oke, hab`s jetzt mit ner While Schleife dazu __try und __except und ein paar Veränderungen hinbekommen, den durchlöcherten Speicher nach Beliebigem zu durchsuchen.
Zwawo is offline  
Reply


Similar Threads Similar Threads
Crash Frei 100%***~~~CyberRazzer NoMenu Chams/NoFog/FullBright!!!!!~~~***Crash Fre
11/30/2010 - WarRock Hacks, Bots, Cheats & Exploits - 66 Replies
Download: Removed! DT! Waiting for new Version!



All times are GMT +2. The time now is 23:18.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.