Otázka:
Nástroj pro kontrolu úprav kódu v paměti načtených knihoven DLL
Robert
2013-06-27 20:16:48 UTC
view on stackexchange narkive permalink

Běžným postupem proti ladění je přepsání funkcí, jako je DbgUiRemoteBreakin, v rámci ntdll.dll.

Protože reprezentace běžných knihoven v paměti je na každé platformě vždy stejná, mělo by být možné, aby se externí nástroj připojil k procesu a porovnal kód knihovny v paměti s odkazem, aby našel jakékoli manipulace provedené samotným procesem.

Znáte někdo takový nástroj pro Windows?

Zkuste se podívat do tohoto vlákna, myslím, že by to mohlo alespoň částečně odpovědět na vaši otázku [Nástroj pro kontrolu, zda je v načteném modulu nějaký patch] (http://reverseengineering.stackexchange.com/questions/2276/tool-for- kontrola-jestli-existuje-nějaký-patch-v-načteném-modulu)
Dva odpovědi:
Brendan Dolan-Gavitt
2013-06-27 20:36:55 UTC
view on stackexchange narkive permalink

WinDbg to dokáže pro knihovny DLL a spustitelné soubory Microsoftu (a obecně pro jakýkoli kód, který lze získat ze serveru symbolů). Stačí připojit debugger k procesu a udělat ! Chkimg <module> . Stáhne si čistou kopii modulu ze serveru symbolů a porovná jej s reportováním rozdílů.

Tento článek obsahuje příklad výstupu, který můžete očekávat, když něco upravil binární soubor.

Popsaná manipulace se obvykle používá k ukončení procesu, když je připojen debugger. Proto by byla možná pouze varianta analyzující výpis paměti procesu.
blabb
2013-06-28 01:05:55 UTC
view on stackexchange narkive permalink

Můžete připojit proces neinvazivní a použít! chkimg! chkallimg! chksym .

Vyhledejte neinvazivní kontrolu pole v dialogu připojit k procesu v windbg nebo použít .attach -v "pid"

Připojení neinvazivním způsobem minimalizuje rušení ladicího programu a ve většině případů nespustí rutiny proti ladění.

Díval jsem se na vaše odpovědi a viděl jsem, že některým chybí interpunkce. Provedl jsem několik úprav, ale v budoucnu se prosím pokuste je začlenit do svých odpovědí, protože je mnohem snazší číst. Dík!


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...