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

je endJoop

Преобразуем виртуальные коды клавиш в сообщения клавиатуры
push offset msg
call TranslateMessage

Передаем это сообщение назад в Windows
push offset msg
call DispatchMessage

[Переходим к следующему сообщению
jmp msgJoop

;Выход из процесса
endJoop:

push [msg.msWPARAM]

call ExitProcess

.Обработка сообщений окна. Win32 требует сохранения регистров

;ЕВХ, EDI. ESI. Запишем эти регистры после "uses" в строке "ргос".
;Это позволит Ассемблеру сохранить их
WndProc proc uses ebx edi esi, hwnd;DWORD, wmsg:DWORD,
wparam:DWORD, lparam:DWORD
LOCAL theDC: DWORD

[Проверим, какое сообщение получили, и перейдем к обработке
cmp [wmsg],WM_DESTROY
je wmdestroy

стр [wmsg],WM_RBUTTONDOWN
je wmrbuttondown
cmp [wmsg],WM_SIZE
je wmsize

cmp [wmsg].WM_CREATE
je wmcreate

cmp [wmsg],WM_LBUTTONDOWN

je wmlbuttondown

cmp [wmsg],WM_PAINT

je wm paint

cmp [wmsg],WM_GETMINMAXINFO

je wmgetminmaxinfo

Данная программа не обрабатывает это сообщение.
.Передадим его Windows,
:чтобы оно было обработано по умолчанию
jmp defwndproc

.Сообщение WM_PAINT (перерисовать содержимое окна)
wmpaint:

Подготовим окно для перерисовки
push offset Ippaint
push [hwnd]
call BeginPaint
mov [theDC], eax

;Переведем в ASCII-формат значение mbx_count, которое
доказывает, сколько раз была нажата левая кнопка мыши

mov eax,[mbx_count]

mov edi, offset s_num

call HexWrite32

; Вывод строки в окно

push L MSG_L ;Длина строки

push offset szPaint ;Строка

push L 5 ;Y

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