Ручная троянизация приложений под windows


Внедрение не во сне, а на яву - часть 2


       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 сообщения от бациллы




- Начало -  - Назад -  - Вперед -