Что вполне возможно, т. к.
Heap - "куча", область динамически распределяемой памяти. — Пер.
Что вполне возможно, т. к. не только отладчики, но и любые приложения могут вызывать функцию HeapCreate. — Пер.
Этот набор инструментов вы можете найти на сопровождающем CD. — Пер.
Это загрузочный модуль, частью которого является функция, показанная в листинге 4-1. — Пер.
Многие опции кнопок
System Registry и
Kernel Mode переключателя
Destination окна
Global Flags являются глобальными. Нужно проявлять особую осторожность при их установке, потому что они могут оказать решающее влияние на производительность системы. Установка переключателя
Destination в положение
Image File Options намного безопаснее, потому что все установки влияют только на один модуль (имя которого указано в соседнем поле
Image File Name).
Рис. 4.1. Вывод программы GFLAGS.EXE
Листинг 4-1. Пример разрушения heap-области Windows 2000
void main(void)
// Создать heap-область операционной системы.
HANDLE hHeap = HeapCreate ( 0, 128, 0) ;
// Распределить память для блока размером в 10 байтов.
LPVOID pMem = HeapAlloc ( hHeap, 0, 10);
// Записать 12 байт в 10-байтовый блок (переполнение heap-области).
memset ( pMem, OxAC, 12);
// Распределить новый блок размером 20 байт.
LPVOID pMem2 = HeapAlloc ( hHeap, 0, 20);
// Записать 1 байт во второй блок.
char * pUnder = (char *)( (DWORD)pMem2 - 1);
*pUnder = 'P';
// Освободить первый блок. Это обращение к HeapFree будет
// инициировать точку прерывания в коде отладочной heap-области
// операционной системы.
HeapFree ( hHeap, 0, pMem);
// Освободить второй блок. Заметим, что этот вызов не будет
// выдавать соообщения о неполадке
HeapFree ( hHeap, 0, pMem2);
// Освободить фиктивный блок. Заметим, что этот вызов не будет
// выдавать сообщения о неполадке
HeapFree ( hHeap, О, (LPVOID)Oxl); HeapDestroy ( hHeap);
}
Если установить те же флажки, что на рис. 4.1, и повторить выполнение HEAPER.EXE, то будет получен следующий, более многословный вывод:
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий