Aktywne Wpisy

DwaJedenTrzy +63
Jak tam pompy ciepła w domach pozbawionych prądu? ( ͡° ͜ʖ ͡°) Oczywiście zwykłych ludzi, bo o polityków to się nie martwię - ich stać na awaryjne generatory przepalające diesla...
Zima nie odpuszcza na Pomorzu ,liczba domów bez energii elektrycznej wzrosła z 20 do 50 tyś. A tak naprawdę to jest c--j - Niech dopierdzieli chociaż -15 przez miesiąc to tym eko szajbusom pompy wyjdą bokiem jak dostaną
Zima nie odpuszcza na Pomorzu ,liczba domów bez energii elektrycznej wzrosła z 20 do 50 tyś. A tak naprawdę to jest c--j - Niech dopierdzieli chociaż -15 przez miesiąc to tym eko szajbusom pompy wyjdą bokiem jak dostaną
źródło: brave_7xvy0KqC4B
Pobierz
ponsulek +778





Mam pytanie. Chciałem sprawdzić, w którym miejscu stosu funkcja func() otrzyma swoją ramkę. Nie znam adresu pod, który funkcja func() zostanie wrzucona na stos, dlatego stworzyłem zmienną a = 0xabababab, wyświetliłem jej adres, i udałem się w tamto miejsce na stosie. Teraz zakładam, że gdzieś w pobliżu na stosie powinien znaleźć się pointer na funkcję func(). Dlatego wyprintowałem też adres funkcji func(), którego na stosie nigdzie nie widzę. Dalej też go nie ma, bo stos jest pusty. Tak wiem, że mogą tą funkcję znaleźć bez problemu w IDA, ale chcę to zrobić krok po kroku... Nie widzę też na stosie wartości zwróconej przez funkcję func(). Nie krzyczcie za głupie pytania, nie jestem programistą.
źródło: comment_1641288833GPkhChDk52v6DYYGDyN9JU.jpg
Pobierzfunc(), to rejestr EBP powinien wskazywać na "adres ramki". ale w zalezności od tego gdzie uruchomisz tę funkcję(w jakim stanie będzie stos), to ten EBP będzie mieć różne wartości@TheMoonTheMoon: druga rzecz, to wartość funkcji może być też zwrócona przez rejestr - tutaj nie rozróżniam tych konwencji z
__stdcall, więc piszę MOŻEWygenerowany kod masz tutaj. Wartosc z funkcji wraca w rejestrze *AX.
jak mamy
func();w kodzie, to w asmie to wygląda to mniej więcej tak:push EBP;push ESP;pushWpisz 'nm -A' i tyle ¯\(ツ)/¯