-
Data: 2010-12-28 11:54:56
Temat: Re: [win][asm] przestrzen procesu
Od: "Bogdan (bogdro)" <b...@p...gazeta.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 28.12.2010 09:46, slamazar pisze:
> bawilem sie wczoraj jeszcze troche wspominanym OllyDebug
> i zaobserwowalem co nastepuje (o ile nie myli mnie pamiec co do
> szczegolow adresow bo nie robilem notatek):
>
> modul mojej aplikacji exe zostala wgrany pod adres 0x40000000
> (albo 0x40001000 w kazdym razie tutaj byl punkt startowy)
> - to sie zgadza z tym co czytalem ze domyslnie pod ten adres mapowane
> sa exeki;
>
> chyba od razu za tym (o ile pamietam) byla duza sekcja danych (glownie zera
> wiec chyba tam byly zaalokowane malokiem i statycznie tablice)
Albo dopełnienie w celu wyrównania adresu kolejnej sekcji do granicy
4096 bajtów.
> pod adresami 0x7xxxxxxx w przestrzeni procesu znajdowalo sie
> kilkanascie dllelek glownie systemowych jak kernel32.dll
> (swoich wlasnych aplikacja nie uzywa) i pare tez mi nie znanych
> ale chyba okolosystemowych, plus jedna ("hook.dll" o ile
> pamietam ) pochodzaca z mojego slownika polsko angielskiego
> firmy techland - ten slownik zaklada takie hooki bo ma opcje
> kontekstowych tlumaczen tekstow odrazu z aplikacji
>
> ciakawa wogole sprawa; jak to jest ze te dllki sa mapowane w
> prywatnej przestrzeni procesu? zdawalo mi sie ze powinny byc one
> w wyzszej polowce adresow systemowych;
Może tam są, tylko w procesie wyglądają na zmapowane pod niższe
adresy. Ale może to być kwestia tego, że program jest uruchomiony pod
debugerem - on też korzysta z wywołań systemowych, może więc
"przechwytuje" je dla programu: wstawia swoje zaślepki pod adresami
0x7xxxxxxx (aby na przykład można było podejrzeć parametry
uruchamianych funkcji), po czym odwołuje się do tych właściwych już
pod innymi, "bardziej standardowymi" adresami.
> drugie pytanie czy da sie
> wypatrzec wiecej ciekawego info jak powyzsze, debuggerem w przestzreni
> prywatnej procesu?
Zależy, co Cię interesuje. Sekcje kodu i danych na pewno można
zobaczyć, pewnie też sekcję zasobów (.res, czy jakoś podobnie,
zawierającą m.in. identyfikatory elementów interfejsu graficznego).
Sekcja .bss to dane niezainicjalizowane (program mówi, ile potrzebuje,
a system mu daje w chwili uruchamiania). Gdzieś też (raczej pod
wyższymi adresami) powinien być stos.
> jak dokladnie z pol PE mozna orzec gdzie zostana
> zmapowane sekcje
Tego nie wiem. W zasadzie nie wiem nawet, czy w ogóle się da. Może
program ładujący ma w sobie zapisane te adresy. Ostatnie wynalazki w
stylu losowanie adresu przestrzeni danych mogłyby świadczyć, że w
nagłówku nie ma tych informacji (albo program ładujący je ignoruje).
Ale może poczekajmy, aż wypowie się ktoś bardziej kompetentny w
temacie formatu PE.
> i kore sekcje są 'minimalne'; czy da się zrobic
> funkcjonalny program PE wylacznie z sekcja .text (plus ewentualnei
> tablice importow i exportow) czy raczej jeszce jakies powinny byc?
Jeśli nie używasz żadnych zmiennych, to możliwe, że te wystarczą. Ale
głowy nie dam.
> borland 55 ktorego uzywam kompiluje o ile dobrze pamietam az osiem
> sekcji z ktorego jednanazywa sie .tls - co to moze byc?
Thread-local storage.
--
Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS)
Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
www.Xiph.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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
Najnowsze wątki
- 2025-03-20 Grubość socketa AM4+procesor
- 2025-03-20 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-20 Warszawa => Senior Programmer C <=
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-20 Greenpeace została zobowiązana do zapłaty niemal 667 mln dolarów [USA,wyrok sądu]
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?