Доклад: Вирусы под Windows

call GetModuleHandle
mov [hlnst],eax
push L 0

push offset szClassName
call FindWindow
or eax.eax
jz reg_class

.Пространство для модификации строки заголовка

mov [zero]," "
reg_class:

;Инициализируем структуру WndClass

mov [wc.clsStyle],CS_HREDRAW+CS_VREDRAW+CS_GLOBALCLASS

mov [wc.clsLpfnWndProc],offset WndProc

mov [wc.clsCbClsExtra],0

mov [wc.clsCbWndExtra],0

mov eax,[hlnst]

mov [wc.clsHlnstance], eax

[Загружаем значок

push L IDLAPPLICATION
push L 0
call Loadlcon
mov [wc.clsHlcon], eax

; Загружаем курсор

push L IDC.ARROW

push L 0

call LoadCursor

mov [wc.clsHCursor], eax

.Инициализируем оставшиеся поля структуры WndClass
mov [wc.clsHbrBackground],COLOR_WINDOW+1
mov dword ptr [wc.clsLpszMenuName],0
mov dword ptr [wc.clslpszClassNameJ.offset szClassName

;Регистрируем класс окна
push offset we
call RegisterClass

; Создаем окно

push L 0 .IpParam
push [hinst] .hinstance
push L 0 ;Меню
push L 0 ;hwnd родительского окна
push L CWJJSEDEFAULT ;Высота
push L CWJJSEDEFAULT ;Длина
push L CWJJSEDEFAULT ;Y
push L CWJJSEDEFAULT ;X
push L WSJ3VERLAPPEDWINDOW ;Style
push offset szTitleName ;Title Style
push offset szClassName ;Class name
push L 0 ;extra style
call CreateWindowEx

.Сохраняем HWND

mov [newhwnd], eax

.Отображаем окно на экране
push L SW.SHOWNORMAL
push [newhwnd]
call ShowWindow

;0бновляем содержимое окна
push [newhwnd]
call UpdateWindow

;0чередь сообщений
msgJoop:

.Прочитаем следующее сообщение из очереди
push L О
push L О
push L О
push offset msg
call GetMessage

;Если функция GetMessage вернула нулевое значение, то завершаем
[обработку сообщений и выходим из процесса

К-во Просмотров: 954
Бесплатно скачать Доклад: Вирусы под Windows