"Игорь Коваль. Как написать вирус" - читать интересную книгу автора ( Program Segment Prefix ), в котором содержится
информация,необходимая для правильной работы прог- раммы . Заполняет PSP операционная система ( ОС ), а его размер всегда равен 100h ( 256 ) байт . 3. Сразу вслед за PSP загружается сама COM - прог- рамма . 4. EXEC выполняет настройку регистров процессора. При этом устанавливаются такие значения :CS = DS = = SS = ES указывают на начальный сегмент програ- ммы, регистр IP инициализируется числом 100h, а регистр SP - числом 0fffeh . 5. Теперь загруженную COM - программу можно испол- нить . Для этого EXEC передает управление по адре- су CS : 100h.После завершения программы управление передается обратно в EXEC, а оттуда программе - предку . Таким образом,по адресу CS : 100h обязательно дол- жна стоять первая исполняемая команда .Чаще всего это команда перехода, но допустимо использовать и другие .Следует также напомнить, что в MS DOS раз- мер COM - файла не может превышать 64 Кбайт. В са- ние программных кодов, данных и стека в одном сег- менте оперативной памяти . А размер сегмента как раз и ограничен 64 Кбайтами . 1.2 Как вирус может заразить COM - файл Под заражением понимают присоединение вирусом сво- его кода к файлу .При этом вирус должен так моди- фицировать заражаемый файл, чтобы получить управ- ление при его запуске . Существует несколько методов заражения COM - про- грамм.Вирусный код может записываться в конец, на- чало и даже в середину файла.Каждый из этих спосо- бов имеет свои достоинства и недостатки.Мы же рас- смотрим запись вирусного кода в конец файла .Такой прием используется в подавляющем большинстве виру- сов, и обеспечивает хорошие результаты при сравни- тельно простой реализации . Итак, вирус записывает свой код в конец файла .Для того,чтобы при старте этот код получил управление и начал выполняться, во время заражения программа несколько модифицируется . С этой целью используется трехбайтовая команда |
|
|