исходный текст простейшей бациллы, признающийся
jmp 100299Eh ; передаем управление WinMain
ret ; возвращаемся в стартовый код
caption db 'h',0,'e',0,'l',0,'l',0,'o',0,0,0
text db 'I',0,' ',0,'l',0,'o',0,'v',0,'e',0,' ',0,'y',0,'o',0,'u',0,0,0
Листинг 3 исходный текст простейшей бациллы, признающийся в любви
Ассемблируем программу FASM'ом и на выходе получаем двоичный файл (для определенности пусть это будет inject.bin). Запускаем HTE, открываем notepad.exe и тут же открываем inject.bin (<F3> (open), "inject.bin). При помощи shift'а выделяем весь код бациллы и ждем <Ctrl-Ins> для копирования в буфер обмена. Переключаемся на notepad.exe (<Alt-2>), находясь в hex-режиме подводим курсор к смещению 300h и нажимаем <Shift-Ins>, чтобы вставить. Сохраняем изменения по <F2> и… открываем пиво. Первый этап внедрения завершен. Теперь можно послушать Burning Point, собраться с мыслями и немного расслабиться.
Рисунок 8 вставка бациллы в дрозофилу
И вот наступает последний решительный этап: перехват управления у WinMain, точка вызова которой, как мы помним, лежит по адресу 1006571h. Переводим HTE в дизассемблерный режим (<F6> (mode), pe/image), жмем <F5> (goto) и говорим: "1006571h". Теперь нажимаем <Ctrl-A> (Assemble) и вводим "CALL 1000300h", где 1000300h — адрес начала бациллы. Кстати говоря, HIEW для этой цели непригоден, поскольку неправильно ассемблирует код и все летит к черту. Во всяком случае, версия 6.09 ведет себя именно так, а более поздние не проверял. Зачем платить деньги за коммерческий HIEW, когда есть и бесплатные HEX-редакторы не хуже!?
HTE все ассемблирует правильно, но переходить к бацилле по перекрестной ссылке наотрез отказывается, считая, что ее нет. Ну нет — и не надо. Нажимаем <F2> (save), чтобы изменения возымели силу и выходим по <F10>.
Рисунок 9 перехват управления у WinMain
C замираем сердца запускам notepad.exe и… Оторвать мыщъх'у хвост это работает, выдавая симпатичное диалоговое окно:
Рисунок 10 сообщения от бациллы
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий