· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› экспериментирую с buffer overrun

Посл.отвђт Сообщен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