eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › [win][asm] przestrzen procesu
Ilość wypowiedzi w tym wątku: 4

  • 1. Data: 2010-12-28 08:46:25
    Temat: [win][asm] przestrzen procesu
    Od: "slamazar" <p...@p...onet.pl>

    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)

    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; drugie pytanie czy da sie
    wypatrzec wiecej ciekawego info jak powyzsze, debuggerem w przestzreni
    prywatnej procesu? jak dokladnie z pol PE mozna orzec gdzie zostana
    zmapowane sekcje 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?
    borland 55 ktorego uzywam kompiluje o ile dobrze pamietam az osiem
    sekcji z ktorego jednanazywa sie .tls - co to moze byc?

    tia, slamazar

    uzywam



    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 2. Data: 2010-12-28 11:54:56
    Temat: Re: [win][asm] przestrzen procesu
    Od: "Bogdan (bogdro)" <b...@p...gazeta.pl>

    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


  • 3. Data: 2010-12-28 17:10:04
    Temat: Re: [win][asm] przestrzen procesu
    Od: Boguś <n...@i...net>

    Dnia 28-12-2010 o 12:54:56 Bogdan (bogdro) <b...@p...gazeta.pl>
    napisa?(a):

    >> 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.

    Bo właśnie od 0x7xxxxxxx system ładuje swoje biblioteki (nie wiem jak w
    systemach 64 bitowych), bez względu na to, czy program jest uruchomiony
    pod debuggerem, czy nie. Zresztą, debugger można podłączyć i odłączyć już
    po wystartowaniu procesu. Poczytaj sobie może gdzieś o tym, jak działają
    procesy, dllki i system, to nie będziesz błądził po omacku. Ja niestety
    żadnych artykułów nie polecę, bo dawno temu to studiowałem.

    --
    Boguś


  • 4. Data: 2010-12-29 08:23:09
    Temat: Re: [win][asm] przestrzen procesu
    Od: "fir" <p...@p...onet.pl>

    > Bo właśnie od 0x7xxxxxxx system ładuje swoje biblioteki (nie wiem jak w  
    > systemach 64 bitowych), bez względu na to, czy program jest uruchomiony  
    > pod debuggerem, czy nie. Zresztą, debugger można podłączyć i odłączyć już  
    > po wystartowaniu procesu. Poczytaj sobie może gdzieś o tym, jak działają  
    > procesy, dllki i system, to nie będziesz błądził po omacku. Ja niestety  
    > żadnych artykułów nie polecę, bo dawno temu to studiowałem.
    >

    polecam wam wszystkim sciagniecie sobie ollydbg 1.1 (jest wersja 2 alpha
    ale nie dokonczona i 1.1 ma o ile wiem wiecej funkcjonalnosci) odpalenie
    go z jakims np wlasnym progsem - to moze was nauczyc w jeden wieczor
    (o ile sa juz jakies zreby wiedzy) tyle ile ze dwa lata czytania

    sam costam juz czytalem (i o pe i o mapowaniu w pamieci) i 'jakies' tam
    wstepne pojecie mam - aczkolwiek przydalaby sie wieksza jasność

    fir


    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: