экспериментирую с buffer overrun

Тема в разделе "WASM.WIN32", создана пользователем smax, 9 сен 2004.

  1. smax

    smax New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2004
    Сообщения:
    32
    Адрес:
    .ru
    вот вижу (в IDA), что для страницы стека - есть R&W атрибуты

    для кода R&X

    как, млин, выполнить в стеке...

    по всем статьям - в стеке должно быть разрешено Х...



    а если не должно, то что делать?



    вот если как-то мне прояснить по тексту сможете, болванка из С++, на которой изучаю:


    Код (Text):
    1.  
    2. int fun(int a)
    3. {
    4.     int b;
    5.     _asm
    6.     {int 3}
    7.     b=a;
    8.     printf("Parametr 1: %d\n",b);
    9.     return a;
    10. }
    11.  
    12. int main(int argc, char* argv[])
    13. {
    14.     int i;
    15.     __asm{
    16.         push i
    17.         push 0xAABBCCDD
    18.         push 0x11223344
    19.     }
    20.     for(i=1;i<argc;i++)
    21.         fun(atoi(argv[i]));
    22.     return 0;
    23. }
    24.  


    VC++6 (SP6)
     
  2. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    строго говоря, Интеловые камни поддерживают атрибут X только для сегментов, но не для страниц. поскольку в винде код, данные и стек засандалили в один сегмент, ему дали право на исполнение (на уровне сегмента). на уровне страниц контролируется лишь доступ на чтение/исполнение и запись. атрибут X, присустствующий в PE-файле, равносилен R, и наоборот
     
  3. smax

    smax New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2004
    Сообщения:
    32
    Адрес:
    .ru
    извиняюсь, если криво выразился



    именно про сегменты вопрос и задаю...

    вот как это выглядит у меня

    курсор на сегменте стека - у него eXecute нет разрешений



    вопрос - как реализовать в таких условиях срыв стека с выполнением навязанного кода?



    http://smax.indusoft.ru/ss/ida.gif
     
  4. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    Тебе же уже обьяснили, что в винде не нужно Х чтобы выполняться, достаточно R. Вот M$ только во втором SP к XP пытается как-то ограничивать выполнение на стэке.
     
  5. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169