Код вируса CIH

Таким образом, код вируса CIH вызывает функцию ядра jPageAllocate, чтобы выделить системную память для нужд вируса. Так как на данном этапе код вируса исполняется в режиме ядра, он может вызывать функции ядра напрямую. После выделения системной памя­ти, посредством инструкции iretd ход исполнения вируса CIH возвращается к точке в коде, следующей сразу же за инструкцией int, которая вызвала данное исключение. Это точка, следующая сразу же за комментарием «Со­единяем все секции кода вируса». Во время исполнения этого перехода, кон­текст исполнения кода также переключается из режима ядра в пользователь­ский режим. Строки кода, следующие сразу же после первого исключения, копируют код вируса в выделенную системную память, а затем устанавливают флаг при­знака нуля. После этого вирус вызывает такое же исключение, как и раньше. Но, в отличие от предыдущего исключения, на этот раз флаг признака нуля уже установлен. Поэтому ход исполнения вируса переходит к метке MyExcep­tionHook и устанавливает перехватчик интерфейса файловой системы. Этот процесс показан Возможно, несмотря на все объяснения, данные в листинге 12.6, понимание хода исполнения вируса вам все еще не до конца ясно. В этом нет ничего удивительного так как вирусописатели умышленно делают код своих творений сложным и запу­танным. Поэтому рассмотрим блок-схему, отражающую ход исполнения вируса. Метки и функции из кода в листинге 12.6 представлены здесь как логи­ческие блоки, работа которых объясняется комментариями.



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

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