-
Data: 2013-05-01 22:32:02
Temat: Re: Jak działa debugger? ramki stosu
Od: firr kenobi <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu środa, 1 maja 2013 21:48:39 UTC+2 użytkownik Borneq napisał:
> Mam opis pod Windows (a jak będzie pod Linuksem?)
>
> http://www.codeproject.com/Articles/189711/Write-you
r-own-Debugger-to-handle-Breakpoints
>
> http://www.codeproject.com/Articles/43682/Writing-a-
basic-Windows-debugger
>
>
>
> Tam jest nietypowo, bo pułapkę ustawia proces śledzony, ale doszedłem że
>
> można użyć WriteProcessMemory. Nawet gdy nie ustawię pułapki, debugger
>
> zatrzymuje się na samym początku wykonywania programu w
>
> ntdll.DbgBreakPoint (czy zawsze tak jest)?
>
> Aby otrzymac adres początku programu muszę znać ramki stosu, jak można
>
> wylistować je?
dobre pytanie, nie wiem dokladnie,
ale prawdopodobnie (w 32bitowej wersji)
jest tak ze w ebp masz wskaznik na poczatek
tramki stosu danej funkcji, pod ktorym to adresem
jest zapisany poprzedni ebp w ten sposob przez
wyluskiwanie mozna sie cofnac, jesli main
by nadal ebp wartosc 0 to mozna sprawdzic kiedy
koniec cofania (ale nie wiem czy tak jest)
Przed kazdym z tych adresow na stosie sa adresy
powrotów dla ret - nie sa top adresy poczatku funkcji w sekcji .code tylko adresy tuz
za
call (o ile dobrze to rozumiem) ale cofajac sie
z nich 4 bajty dostaniesz prawdopodobnie
adresy poczatkow procedur kolejnych poziomów
- jest to ew przyblizony obraz ale tak to mw chyba
jest - bo tak sobie to wyobrazam, czyli nie jest to takie skomplikowane
Następne wpisy z tego wątku
- 01.05.13 22:34 Borneq
- 01.05.13 22:58 Borneq
- 02.05.13 08:38 Marek Borowski
- 02.05.13 18:10 Borneq
- 02.05.13 19:26 firr kenobi
- 03.05.13 00:22 M.M.
- 03.05.13 08:47 Edek
- 04.05.13 23:04 Michoo
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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
Najnowsze wątki
- 2024-12-21 Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 2024-12-21 Ideologia Geniuszy-Mocarzy dostępna na nowej s. WWW energokod.pl
- 2024-12-21 ciekawy układ magnetofonu
- 2024-12-21 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2024-12-21 Warszawa => Java Developer <=
- 2024-12-21 Zalesie Borowe => Medical Equipment Service Engineer <=
- 2024-12-21 Żerniki => Specjalista ds. Employer Brandingu <=
- 2024-12-21 jak tacy debile
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi