ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

[Asm] Программа регистрации движения мыши
  #1  
Старый 02.07.2008, 17:31
Dober'man
Banned
Регистрация: 16.07.2007
Сообщений: 79
Провел на форуме:
801879

Репутация: 337
Отправить сообщение для Dober'man с помощью ICQ
По умолчанию [Asm] Программа регистрации движения мыши

Начитался я про трои, вирусы, черви, которые срабатывают на элементарное наведение указателя мыши на ярлык exe'шника и решил родить программу, которая выполняет отслеживание перемещения текстового указателя мыши.
Вдобавок добавил в код (ну это уже наверное лишнее, но убрать то можно =) ) визуальное отображение, в правом нижнем углу экрана, горизонтальных и вертикальных ( X и Y ) координат перемещения указателя, и еще немного API. При нажатии левой кнопки мыши её координаты фиксируются в левом нижнем углу экрана (эт всё WinAPI).

Исходник:
Код:
TITLE Программа регистрации движения мыши (mouse.asm)

INCLUDE Irvine16.inc

.data
ESCkey = 1Bh
GreetingMsg BYTE "Для выхода нажмите <Esc>",0dh,0ah,0
StatusLine BYTE "Левая кнопка:
"
           BYTE "Положение мыши: ",0
blanks BYTE "      ",0
Xcoordinate WORD 0
Ycoordinate WORD 0
Xclick WORD 0
Yclick WORD 0

.code
main PROC

mov ax,@data
mov ds,ax
call HideCursor
mov dx,OFFSET GreetingMsg
call WriteString
call ShowMousePointer
mov dh,24
mov dl,0
call GotoXY
mov dx,OFFSET StatusLine
call Writestring

L1:
call ShowMousePPosition
call LeftButtonClick
mov ah,11h
int 16h
jz L2
mov ah,10h
int 16h
cmp al,,ESCkey
je quit

L2:
jmp L1

quit:
call HideMousePointer
call ShowCursor
call ClrScr
call WaitMsg
exit
main ENDP

GetMousePosition PROC

push ax
mov ax,3
int 33h
pop ax
ret
GetMousePosition ENDP

HideCursor proc

mov ah,3
int 10h
or ch,30h
mov ah,1
int 10h
ret

HideCursor ENDP

ShowCursor PROC

mov ah,3
int 10h
mov ah,1
mov cx,0607h
int 10h
ret

ShowCursor ENDP


HideMousePointer PROC

push ax
mov ax,2
int 33h
pop ax
ret

HideMousePointer ENDP

ShowMousePointer PROC

push ax
mov ax,1
int 33h
pop ax
ret

ShowMousePointer ENDP

LeftButtonClick PROC	

pusha
mov ax,5

mov bx,0
int 33h
cmp cx,Xclick
jne LBC1
cmp dx,Yclick
je LBC_exit
LBC1:
mov Xclick,cx
mov Yclick,dx


mov dh, 24
mov dl,15
call GotoXY

push dx
mov dx,OFFSET blanks
call WriteString
pop dx


call GotoXY
mov ax,Xcoordinate
call WriteDec
mov dl,20
call GotoXY
mov ax,Ycoordinate
call WriteDec
LBC_exit:
popa
ret

LeftButtonClick ENDP

SetMousePosition PROC

mov ax,4
int 33h
ret 

SetMousePosition ENDP

ShowMousePosition PROC 

pusha
call GetMousePosition
cmp cx,Xcoordinate
jne SMP1
cmp dx, Ycootdinate
je SMP_exit
SMP1:
mov Xcoordinate,cx
mov Ycoordinate,dx

mov dh,24
mov dl,60
call GotoXY

push dx
mov dx,OFFSET blanks
call WriteString
pop dx

call GotoXY
mov ax,Xcoordinate
call WriteDec

mov dl,65
call GotoXY
mov ax,Ycoordinate
call WriteDec

SMP_exit:
popa
ret

ShowMousePosition ENDP

END main
Делал асм. вставки в Delphi - все фурычит =)
p.s.: исходник карявить не стал, но и exe не выложил
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регистрации в профилях форумов, беков от 5000+ okmoney О Работе 1 19.03.2008 01:03
Подбор SAM/SMB/NetBios/Кэш паролей Xcontrol212 АнтиАдмин 0 13.03.2008 17:57
ПРОГРАММА "АНТИБАН" Киллер АнтиАдмин 7 09.04.2005 12:00



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ