Показать сообщение отдельно

Ну кагбе хекаем мышку ламера=))
  #16  
Старый 16.12.2008, 21:15
-m0rgan-
Постоянный
Регистрация: 29.09.2008
Сообщений: 553
Провел на форуме:
2584134

Репутация: 519


По умолчанию Ну кагбе хекаем мышку ламера=))

Взлом компьютерной мышки=))
Вот начал я изучать ассембер и не удержался чтоб не написать какую то программу шутку.Эта программа не повредит компьютеру, а только изменит расположение кнопок мыши и напугает ламера).
Что нам потребуется:
1)Компилятор masm32 или tasm, разница в синтаксисе минимальна но советую взять masm32, потому что объяснять я буду именно по нему.
2)Любой текстовый редактор.
3)Прямые руки и голова на плечах.
Первые строки.
Код:
.386 
.model flat,stdcall 
option casemap:none 
include C:\masm32\INCLUDE\WINDOWS.INC 
include C:\masm32\INCLUDE\KERNEL32.INC 
include C:\masm32\INCLUDE\USER32.INC 
include C:\masm32\INCLUDE\ADVAPI32.INC 
includelib C:\masm32\lib\comctl32.lib 
includelib C:\masm32\lib\user32.lib 
includelib C:\masm32\lib\gdi32.lib 
includelib C:\masm32\lib\kernel32.lib 
includelib C:\masm32\lib\user32.lib 
includelib C:\masm32\lib\advapi32.lib
Разберемся в вышенаписаном:
.386-этой строкой мы говорим нашему компиятору, что намеpеваемся использовать набоp инстpукций пpоцессоpа 80386. .Model flat, stdcall говоpит MASM'у, что наша пpогpамма будет использовать плоскую модель памяти.
Далее мы подгружаем инклудники и библиотеки.
.data
В области дaнных у нас будет 2 строки:
Код:
HINST DWORD 0
Код:
strHack db "I hacked you mouse!",0
Они выведут текст "I hacked you mouse!"
.CODE
В области кода мы имеем:
Код:
start: 
invoke SwapMouseButton,1 
invoke MessageBox, 0 , addr strHack, addr strHack , 0 
exit: 
invoke ExitProcess , 0
Давайте разберем все по полочкам.
start:– указывает на начало исполняемого кода.
invoke SwapMouseButton,0– прикрепляем API функцию SwapMouseButton с параметром 1(Эта функция и меняет кнопки мыши местами).
invoke MessageBox, 0 , addr strHack, addr strHack , 0 – эта API функция выводит окно с сообщением.
addr strHack указывает на текст сообщения который мы указали выше.
exit: - указывает на код завершения программы.
invoke ExitProcess , 0 – завершение программы после нажатия кнопки ok.
Ну и самая последняя строка- это end start – она указывает на конец участка кода.
Вот мы и закончили с программной частью.
Компиляция.
Для компиляции нашей программы мы напишем 2 простеньких батника, что бы не мучатся каждый раз вбивая комманду в консоли...
Первый батник:
Код:
@ echo ----OBJ---- 
@ c:\masm32\bin\ml.exe /coff /c .\ISHODNIC\mouse.asm
Его и запускаем первым.
Второй:
Код:
@ echo ----EXE---- 
@ if EXIST pirat.obj c:\masm32\bin\link.exe /SUBSYSTEM:WINDOWS .\mouse.obj
Если в написание кода вы не допустили ошибок,то программа скомпилится удачно.Можети идти разводить ламеров=))
Теперь давайте разберемся как от этого избавится.
А это предельно просто:
Замените параметр SwapMouseButton с 1 на 0 и всё.
Вот мы и написали простинький «Вирус» и «Антивирус».
Полный текст программы:
Код:
.386 
.model flat,stdcall 
option casemap:nonе 
include C:\masm32\INCLUDE\WINDOWS.INC 
include C:\masm32\INCLUDE\KERNEL32.INC 
include C:\masm32\INCLUDE\USER32.INC 
include C:\masm32\INCLUDE\ADVAPI32.INC 
includelib C:\masm32\lib\comctl32.lib 
includelib C:\masm32\lib\user32.lib 
includelib C:\masm32\lib\gdi32.lib 
includelib C:\masm32\lib\kernel32.lib 
includelib C:\masm32\lib\user32.lib 
includelib C:\masm32\lib\advapi32.lib 
.data 
HINST DWORD 0 
strHack db "I hacked you mouse!",0 
.code 
start: 
invoke SwapMouseButton,0 
invoke MessageBox, 0 , addr strHack, addr strHack , 0 
exit: 
invoke ExitProcess , 0 
end start
Ну вот и всё!
С вами был m0rgan.
Удачи во всех начинаниях!
P.S.:Статейка расчитана на (!!!)новичков в асме...
 
Ответить с цитированием