Переполнение буфера на системах с неисполняемым стеком

       

>>> Врезка прототип функции VirtualAlloc


Функция VirtualAlloc занимается выделением (allocate) и передачей (commit) виртуальной памяти, с одновременной установкой прав доступа на чтение/запись/выполнение:

LPVOID VirtualAlloc

(

       LPVOID lpAddress,

       SIZE_T dwSize,

       WORD flAllocationType,

       DWORD flProtect

);

Листинг 2 функция VirtualAlloc и ее прототип

Назначение аргументов следующее:

аргумент



значение

lpAddress

указатель на передаваемый регион памяти

dwSize

размер передаваемого региона

flAllocationType

тип запроса, MEM_COMMIT (1000h) — передача памяти

flProtect

атрибуты защиты, PAGE_EXECUTE_READWRITE (40h) – rwx

Таблица 2 аргументы функции VirtualAlloc



Содержание раздела