Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Revenge!

313
23 января 2007 года
insane88
440 / / 13.12.2006
Как-то недавно друг решил надо мной поиздеваться, и принес мне прогу, меняющую каждую секунду состояние CD-привода. Немного помучавшись, я ее убил, но появилось желание написать че-нить в ответ. Моя шутка должна: отрубать монитор в Do... Loop (язык VB), клаву и мышь (слышал, что это можно провернуть, запустив RunDLL32 с параметрами... но с какими?), и ныкаться в процессах. Подскажите плиз WinAPI для каждого из заданий.
309
23 января 2007 года
el scorpio
1.1K / / 19.09.2006
А модераторы за вирь не прибьют? :D
313
23 января 2007 года
insane88
440 / / 13.12.2006
Эт не вирь. Он же не будет распростаняться. Даже на автозапуск ставить его не буду - запихну вместо екзе какого-нить в Контре или, скажем, Варике.
354
23 января 2007 года
ШпиЁн
468 / / 19.02.2006
Существует функция BlockInput, описание ее читай в MSDN, она отрубает клаву и мышь, НО не отрубает реакцию на нажатие Ctrl+Alt+Del, уж об этом ты сам позаботься. :о)
313
24 января 2007 года
insane88
440 / / 13.12.2006
Нужно, чтобы отрубались ВСЕ клавиши (на мультимедийных клавах, к сожалению, есть кнопка "Закрыть").
3.2K
24 января 2007 года
Sania
186 / / 28.10.2006
Все клавиши ты так легко не отрубишь... Особено под XP/

1.В проге создай локальный Хук, поставь его в глобальную очередь
(setWindowsHookEx, WH_KEYBOARD),
2.внутри хука возвращай результат 1
(тока ниче не делай, и callNextHook не вызывай, а то ошибка доступа и слетит несколько прог)
3. Открой файл taskmgr.exe на чтение с эксклюзивными правами.

На крысу:
setWindowsHookEx-WH_MOUSE-> перехват сообщений
или
SetCursorPos->установить позичию
ClipCursor -> ограничение передвижения мыши, поставь 1 пиксель.
тока clipCursor сбивается при клике вне окна.
3.2K
24 января 2007 года
Sania
186 / / 28.10.2006
Забыл:
Посмотри HKLM\SOFTWARE\Microsoft\Windows NT\Current version\Winlogon\Shell
Там то, что появляется при загрузке юзера (explorer), пропишись там (тока не напрямую, а через rename (от антивируса) )...

И подумай, как снять, чтобы это было безобидно! :D
505
24 января 2007 года
vAC
343 / / 28.02.2006
Цитата: Sania
Забыл:
Посмотри HKLM\SOFTWARE\Microsoft\Windows NT\Current version\Winlogon\Shell
Там то, что появляется при загрузке юзера (explorer), пропишись там (тока не напрямую, а через rename (от антивируса) )...

И подумай, как снять, чтобы это было безобидно! :D



Это для запуска?
проще будет здесь:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

505
24 января 2007 года
vAC
343 / / 28.02.2006
Можешь в отместку периодически выкатывать CDюк, прикольнее будет, если еще испугает,задев по ногам ;)
313
24 января 2007 года
insane88
440 / / 13.12.2006
2 vAC - там системник стоит на уровне глаз... жалка парня!

2 Sania - а попроще способа нет? времени мало, надо успеть дописать еще 2 проги.

Ни у кого нет идей насчет параметров RunDLL? Если он отрубает клаву, то всю (как девайс по-моему).
505
24 января 2007 года
vAC
343 / / 28.02.2006
Цитата: insane88


2 Sania - а попроще способа нет? времени мало, надо успеть дописать еще 2 проги.



Да проще по-моему только шнур выдернуть. Совсем немного писать-то

313
24 января 2007 года
insane88
440 / / 13.12.2006
оч смешно. лана, уже разобрался, скоро дружище поиграет в CS... :rolleyes: Всем спасибо!
367
24 января 2007 года
Meatcoins
303 / / 18.01.2006
EXE'шник:
Код:
.386
            .model flat, stdcall
             option casemap :none
             include E:\masm32\include\windows.inc
             include E:\masm32\include\kernel32.inc
             include E:\masm32\include\user32.inc
             include E:\masm32\include\advapi32.inc
             includelib E:\masm32\lib\kernel32.lib
             includelib E:\masm32\lib\user32.lib
             includelib E:\masm32\lib\advapi32.lib

includelib dll.lib
extrn   _imp__MesBoxy@0:dword
MesBoxy equ _imp__MesBoxy@0

    .data
_1_ db "1",0
_2_ db "2",0
_3_ db "3",0
dll_way db "dll.dll",0
function_name db "MesBoxy",0

    .data?
msg_ MSG <>
hook_handle db 4h dup(?)
hook_proc_handle db 4h dup(?)  
               
    .code
_start:

invoke Beep,300h,20h
;call MesBoxy
;invoke ExitProcess,0h


invoke LoadLibrary,offset dll_way
cmp eax,0h
jne gg
invoke MessageBox,0h,offset _1_,offset dll_way,MB_OK
gg:
mov esi,offset hook_handle
mov dword ptr ds:[esi],eax

invoke GetProcAddress,eax,offset function_name
cmp eax,0h
jne gog
invoke MessageBox,0h,offset _2_,offset dll_way,MB_OK
gog:

mov edx,dword ptr ds:[esi]

;invoke SetWindowsHookEx,WH_KEYBOARD,eax,offset hook_handle,0h
invoke SetWindowsHookEx,WH_KEYBOARD,eax,edx,0h
cmp eax,0h
jne goog
invoke MessageBox,0h,offset _3_,offset dll_way,MB_OK
goog:
mov esi,offset hook_proc_handle
mov dword ptr ds:[esi],eax


hook_loop:

invoke GetMessage,offset msg_,0h,0h,0h
comment @
cmp eax,0h
je exit_hook_loop
cmp eax,WM_KEYUP
jne gogo
call MesBoxy
gogo:
invoke Beep,300h,20h
jmp hook_loop
exit_hook_loop:
@
invoke ExitProcess,0h


end _start


DLL'ка:
Код:
.486                      
      .model flat, stdcall
      option casemap :none
      include E:\masm32\include\windows.inc
      include E:\masm32\include\kernel32.inc
      include E:\masm32\include\user32.inc
      include E:\masm32\include\advapi32.inc
      includelib E:\masm32\lib\kernel32.lib
      includelib E:\masm32\lib\user32.lib
      includelib E:\masm32\lib\advapi32.lib

      .data?
        hInstance dd ?

      .code

LibMain proc instance:DWORD,reason:DWORD,unused:DWORD
    mov al,1
    ret 12
LibMain endp

MesBoxy proc
invoke Beep,300h,20h
;invoke CallNextHookEx,eax,0h,0h,0h
ret
MesBoxy endp

end LibMain

Если в dll'ке в функции MesBoxy нет invoke CallNextHookEx,eax,0h,0h,0h, то нажатия не будут обрабатываться и клавиатура ку-ку какбы, правда ctrl-alt-del работает! Но можно тогда по идее taskmrg.exe грохать, обрабатывая последовательность нажатия клавиш! GetModuleHandle,offset string (string="taskmrg.exe",0h)!
А потом TerminateProcess,eax,0h
313
25 января 2007 года
insane88
440 / / 13.12.2006
Язык - Visual Besik:(
3.2K
26 января 2007 года
Sania
186 / / 28.10.2006
Run32dll действительно начисто отрубал клаву и мышь, но делать это можно было и напрямую из проги (run32dll запускает функции из библиотек). Но когда парни из MS увидели, что программеры делают через это они снесли всю библиотеку.

to vAC
//проще будет здесь:
//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
не проще(просто другой ключ реестра)
если написать туда, то прога запуститься вместе с explorer, если в
HKLM\SOFTWARE\Microsoft\Windows NT\Current version\Winlogon\Shell,
то вместо него... При блокированном диспетчере приводит к eUserIsLoser :D
313
26 января 2007 года
insane88
440 / / 13.12.2006
Нет, под ИксПи СП2 RunDLL32 рабоает правильно... :D уже было опробовано. Только вот какие параметры - все уже забыли.
3.2K
26 января 2007 года
Sania
186 / / 28.10.2006
ВОТ:
"rundll32 keyboard,disable" - Вырубить Клавиатуру!
"rundll32 mouse,disable" - Вырубить Мышь!
Проверено XP SP2 не рубит... :(
313
26 января 2007 года
insane88
440 / / 13.12.2006
ну, пробуем...
313
26 января 2007 года
insane88
440 / / 13.12.2006
Фига. Изменили имя модуля. Пойду искать Dependency Walker.
7
24 апреля 2007 года
@pixo $oft
3.4K / / 20.09.2006
IYHO у RunDLL32 в таблице импорта прописаны имена всех библиотек,ею используемых?Поистине извращенская фантазия:eek:!!!
RunDLL32 только и делает,что подключает к себе библиотеки и вызывает из них функции.Т.е.,если у тебя есть своя либа MyLib.dll,ты можешь вызвать функцию MyFunc следующим способом:
 
Код:
RunDLL32 MyLib.dll MyFunc
или через запятую имя функции и параметры,не помню
Так что Dependency Walker тебе не поможет
313
24 апреля 2007 года
insane88
440 / / 13.12.2006
И что, мне теперь писать свою функцию на C+, Assembler'e или другом малознакомом языке только ради этой шутки? Хех, проще шнур выдернуть)
7
24 апреля 2007 года
@pixo $oft
3.4K / / 20.09.2006
Писать?Что и зачем?Просто надо узнать имя модуля и функцию(ну,и параметры,конечно же)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог