Создаем новый модуль BIOS

Создаем новый модуль BIOS, который при загрузке в память будет моди­фицировать ядро. Этот новый модуль BIOS содержит основный код ваше­го руткита, модифицирующего обработчик прерывания. Модифицирован­ный обработчик будет исполняться вместо «родного» обработчика. Осуществляем вставку кода BIOS в таблицу переходов POST. Зная место­положение кода инициализации обработчика прерывания BIOS в таблице переходов POST, новый элемент таблицы переходов POST должен быть вставлен сразу же после кода инициализации обработчика прерывания BIOS, чтобы Распаковать код вашего обработчика и изменить процедуру обработки прерывания таким образом, чтобы при исполнении»родног0″ обработчика прерывания осуществлялся переход к вашему обработчику Обратите внимание, что может возникнуть необходимость поместить код вашего «расширения» обработчика прерывания в память выше предела в 1 Мбайт, так как свободное пространство ниже этого предела ограничено В таком случае, в ваш код, внедренный в таблицу переходов POST, потре­буется вставить код для переключения в плоский режим реального времени
С помощью утилиты Cbrom, применяя опцию /other, интегрируйте но­вый модуль в двоичный файл BIOS. Тем не менее, необходимо следить за элементом segment:offset заголовка LZH. Этот элемент необходимо обра­батывать таким же образом, как и другие сжатые компоненты BIOS, не являющиеся системной BIOS и ее расширением. В вашей собственной процедуре «расширения» прерывания I3h вы можете делать все, что пожелаете. Например, сюда можно поместить код, модифи­цирующий ядро. Но, скорее всего, этот код окажется настолько объеми­стым, что для его внедрения не хватит свободного места, имеющегося в системной BIOS. В таком случае, вы сможете поместить его в отдельный модуль BIOS. Однако эта задача будет уже более сложна в реализации. Теоретически, процедура для достижения этой цели может состоять из сле­дующих шагов:



Рубрика: Женский интерес

Комментарии закрыты.