-
Data: 2013-05-04 23:04:09
Temat: Re: Jak działa debugger? ramki stosu
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 03.05.2013 08:47, Edek wrote:
>
> To jeszcze nic. Mając dowolną labelkę może być wiele dróg, jakimi
> program do nich doszedł.
>
> Ale prawdopodobnie proces jest możliwy,
IDA tak działa - sprawdza program flow i rejestruje adresy skoków (po
skoku musimy być na prawidłowej instrukcji) - w ten sposób z czasem
tworzy graf przepływu sterowania a przy tym ignoruje takie "standardowe"
sztuczki jak skakanie do segmentu danych(który z o dziwo ma +x ;) ), czy
skakanie do EIP+2.
Jest cała szkoła - jak pisać kod tak, żeby debugowanie za pomocą IDY
było możliwie trudne - jedna z ciekawszych sztuczek(przy czym ma już
kilka lat, więc pewnie nauczyli się to obchodzić): umieść na początku
funkcji kilka instrukcji, printf("%s",ESP+xxx), potem skok gdzie
indziej. Skacz do funkcji za pomocą if(!foo) bar(); else (foo+bar)(); -
disassembler pójdzie tylko pierwszą ścieżką bo druga jest osiągalna
tylko w runtime.
--
Pozdrawiam
Michoo
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-17 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 2024-11-18 Gdynia => Spedytor Międzynarodowy <=
- 2024-11-18 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-18 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-18 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-11-18 Kraków => Business Development Manager - Network and Network Security
- 2024-11-18 Kraków => Network Systems Administrator (IT Expert) <=
- 2024-11-18 Kraków => Administrator Systemów Sieciowych (Ekspert IT) <=
- 2024-11-18 Zdunowo => Senior PHP Symfony Developer <=
- 2024-11-18 Łódź => QA Inżynier <=
- 2024-11-18 Lublin => Senior PHP Developer <=
- 2024-11-18 Gliwice => Specjalista ds. public relations <=
- 2024-11-18 Gdynia => Front-End Developer (React/Three.js) <=
- 2024-11-18 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-18 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=