|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 9, 2004 12:28:12 вот вижу (в IDA), что для страницы стека - есть R&W атрибуты для кода R&X как, млин, выполнить в стеке... по всем статьям - в стеке должно быть разрешено Х... а если не должно, то что делать? вот если как-то мне прояснить по тексту сможете, болванка из С++, на которой изучаю:
int fun(int a)
{
int b;
_asm
{int 3}
b=a;
printf("Parametr 1: %d\n",b);
return a;
}
int main(int argc, char* argv[])
{
int i;
__asm{
push i
push 0xAABBCCDD
push 0x11223344
}
for(i=1;i<argc;i++)
fun(atoi(argv[i]));
return 0;
}
VC++6 (SP6) |
|
|
Дата: Сен 9, 2004 12:59:15 строго говоря, Интеловые камни поддерживают атрибут X только для сегментов, но не для страниц. поскольку в винде код, данные и стек засандалили в один сегмент, ему дали право на исполнение (на уровне сегмента). на уровне страниц контролируется лишь доступ на чтение/исполнение и запись. атрибут X, присустствующий в PE-файле, равносилен R, и наоборот |
|
|
Дата: Сен 9, 2004 13:15:59 · Поправил: Безпощадный даос извиняюсь, если криво выразился именно про сегменты вопрос и задаю... вот как это выглядит у меня курсор на сегменте стека - у него eXecute нет разрешений вопрос - как реализовать в таких условиях срыв стека с выполнением навязанного кода? http://smax.indusoft.ru/ss/ida.gif |
|
|
Дата: Сен 9, 2004 14:21:48 Тебе же уже обьяснили, что в винде не нужно Х чтобы выполняться, достаточно R. Вот M$ только во втором SP к XP пытается как-то ограничивать выполнение на стэке. |
|
|
Дата: Сен 9, 2004 23:03:01 |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.042 |