Jak znaleźć uchwyty plików, które nie zostały zwolnione, korzystając z WinDbg:
Reversing
Wpływ podkręcenia CPU na kod aplikacji
Jest to bardzo stary artykuł z bloga Raymonda Chena, opisuje on jednak ciekawa historię wysypywania się aplikacji na instrukcji xor eax, eax co jak każdy koder assemblera wie jest praktycznie niemożliwe.
http://blogs.msdn.com/oldnewthing/archive/2005/04/12/407562.aspx
W swoim życiu spotkałem się raz z podobną sytuacją, gdzie u klienta w mojej aplikacji był wykonywany kod, który po prostu nie mógł być wykonywany, a próby reprodukcji buga spełzały na niczym.
Okazało się, że komputer klienta był podkręcony i jedyne wyjaśnienie tej sytuacji pasuje idealnie do opisywanej przez Raymonda Chena historii.
Prolog i epilog kompilatora MinGW GCC/G++
Analiza działania kompilatora MinGW z blogu Gynvaela Coldwinda:
Czy zastanawialiście się kiedyś czemu prosty Hello World skompilowany MinGW GCC do exeka zajmuje 15kb (po strip 5kb), a do obiektu (COFF .o) 0.5kb ? Co takiego kompilator dodaje że 0.5kb rośnie do 15kb/5kb ? Oczywiście prolog (kod wykonywany przed “main”) oraz epilog (kod wykonywany po “main”). Dzisiejszy post poświęcę temu co prolog i epilog MinGW GCC robi ;>
Więcej na stronie:
Syser Debugger 1.94
Wyszła nowa wersja debuggera Syser Debugger 1.94
Lista zmian:
Reflexil edytor kodu .net
Reflexil to plugin do popularnego dekompilatora plików .net Reflectora, pozwalający modyfikować kod IL aplikacji i zapisywać zmiany na dysku.
http://sebastien.lebreton.free.fr/reflexil/
Reflexil oparty jest na bibliotece Cecil, służącej do generowania i modyfikacji aplikacji .net
OllyDbg pod Linuxa?
Projekt debuggera przypominającego w działaniu OllyDbg (lub próbującego) dla systemu Linux:
http://www.codef00.com/projects.php
Jeśli znacie jakieś fajne narzędzia pod Linuxa dopiszcie do nich linki w komentarzach, bo przyznaję, nie siedzę w tym temacie.
Źródło: diabel