RE FORUM
[REVERSE ENGINEERING] => General Discussion => Topic started by: H4P0 on July 18, 2009, 09:58:00 AM
-
Bezprostredne po loadnuti nejakeho .exe do ollydbg je v zasobniku hodnota EntryPoint-u, SEH a return do kernelu. Ale zasobnik vsak v sebe obsahuje mnozstvo inych hodnot (returny z jedneho ntdll miesta do druheho) ktore su dosledkom precesu ktory prebehol pri nacitavani .exe do pamete (zjednodusene povedane).
Otazka znie, co sa tam konkretne deje?
Daju sa tieto hodnoty nejak vyuzit?
Ked tam stale su, bude ich system este vyuzivat pri odstranovani .exe z pamete, resp. pri ukoncovani procesu?
-
Na stack se ulozi napr adresa nasledujici instrukce pri volani call. Muzes to zmenit tak, ze se EIP nevrati za adresu volani call, ale uplne jinam.
-
Na stack se ulozi napr adresa nasledujici instrukce pri volani call. Muzes to zmenit tak, ze se EIP nevrati za adresu volani call, ale uplne jinam.
to je jasne ako funguje stack...
-
Takze co ti neni jasny? Jestli chces udelat rezidentni proces tak na to jsou myslim jine zpusoby..
-
Otvor Olly, otvor v nom nejake .exe
Alt + M
poklikaj na "stack of main thread"
A ako vidis, hoci proces zastavil na EntryPoint, v zasobniku je uz mnozstvo hodnot. Konkretne myslim tie, co su na nizsich adresach ako je ESP. Ich povod by som rad vedel :).
Jednoducho stack procesu sa uz pouzival prv, nez bola vykonana vobec prva instrukcia na ktoru ukazuje EntryPoint. Podla hodnot usudzujem ze ntdll.dll vykonava svoju cinnost nad spustanym procesom. A ja by som chcel vediet, co sa tam konkretne deje.
-
A co mas nastaveno v Options -> Events -> Meka first pause at ?
Nastav System breakpoint a krokuj, googluj.
-
ano hypno ti dobre radi, tak sa dozvies co a ako - ale pokial sa nemylim tie hondoty zo stack uplne na zaciatku by mali byt hodnoty od api CreateProcessA, lebo win pouziva tuto api na vytvaranie procesov