PDA

Просмотр полной версии : [Руководство] Взлом компьютерной мышки))


#r00t
11.09.2009, 20:27
На днях увидел статью, выложу чисто поржать)

Автор: bug1z (с грабеза)

Взлом компьютерной мышки=))
Вот начал я изучать ассембер и не удержался чтоб не написать какую то программу шутку:).Эта программа не повредит компьютеру, а только изменит расположение кнопок мыши и напугает ламера:)).
Что нам потребуется:
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
Ну вот и всё!
С вами был bug1z.
Удачи во всех начинаниях!

Ivan_64
26.11.2009, 15:35
.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



.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
includelib C:\masm32\lib\kernel32.lib
includelib C:\masm32\lib\user32.lib


Ну и раз уж мы заговорили о пакостях...Duper v1.0.rar ([Ссылки могут видеть только зарегистрированные и активированные пользователи])