Zdravím,
dneska mám krapet složitější problém. Snažím se v C++ napsat program, kterej si otevře sám sebe, přejde na nějakej offset a zkontroluje jestli na tom offsetu je jistá hodnota. Tzn. jestli třeba na offsetu 0x585 je hodnota 0x75 a jestli není, tak vypsat něco.
Předem díky za rady ;)
Fórum › C / C++
Kontrola hodnoty na offsetu
To Kolcek93 :
Ahoj, pokud muzes, tak bych asi pouzil Win32 API a to hlavne fci ReadProcessMemory....pokud ti jde teda o cteni urcite hodnoty z pameti procesu a ne z binarky na disku. Postup by byl asi:
- ziskat handle k procesu
- precist pamet na danem umisteni
viz:
http://msdn.microsoft.com/en-us/library/ms680553%28VS.85%29.aspx
Jen pozor....tusim, ze na Win7 se kazdy proces nahrava na jinou zakladni adresu, takze pro zjisteni presne adresy pameti, kterou chces cist musis pouzit asi dalsi fce...na winXP je zakladni adresa vetsinou stejna nebo se da jednoduseji zjistit
funkce na otevreni souboru jsou.. jen musis predhodit jmeno
a ac se to zda prekvapive.. spustenej soubor samozrejme vi jak se jmenuje.. (ikdyz treba v linuxu to muze byt jen symlink),
ale jde to
a ted uz jen nastuduj "fopen", "argv"
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Kontrola hodnoty scanf — založil Tobinnek
Čtení offsetu a porovnání. — založil Mutagen
Kontrola HW — založil Petr
Kontrola id — založil Majox
Moderátoři diskuze