Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хук клавы без dll, by Oleg1973 
:(
    Опции темы
oleg1973
Дата 31.7.2004, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




кароче читал я тут тему
http://forum.vingrad.ru/index.php?showtopic=27057
там предложили делать хук через DirectInput

я чесно говоря не пробовал

проблему хука без dll я решил другим путем
-
теоретические предпосылки:
1) формат РЕ одинаков как для dll так и для exe (думаю уже отсюда можно уловить суть smile.gif )
2) загрузчику вындоса совершенно наплевать откуда импортировать функ, из exe или dll

и так поехали
для установки хука есть SetWindowsHookEx, одним из параметров является "handle of application instance" проще говоря хендл модуля с процедурой хука
че мы делаем в нашем случае
invoke GetModuleHandle,0
получаем хендл нашего exe , далее
invoke SetWindowsHookEx,WH_KEYBOARD,KeyboardProc,тутхендлехе,0

тоесть устанавливаем хук на клаву, однако KeyboardProc находится не во внешней dll а в нашем exe файле (не забудте только ее export сделать)

ну вот и все, грязное дело сделано smile.gif
пример можно скачать ниже
тестилось на ХР
думаю обьяснил достаточно понятно, ну а те кто не понял так им и надо

Присоединённый файл ( Кол-во скачиваний: 37 )
Присоединённый файл  main.EXE


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
p0s0l
Дата 1.8.2004, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.




Эта идея мне приходила, но в итоге, не помню почему, решил что так нельзя.... Возможно такой подход не покатит в 9x (что тогда у меня стояло)... Кто-нибудь проверял это в 9x?... Хотя вполне возможно, что у меня руки кривые и неправильно сделал...



--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 1.8.2004, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




нету 9х под рукой
а ставить лень


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Zandr
Дата 2.8.2004, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 433
Регистрация: 16.7.2004
Где: Новосибирск




Ставить лень или то что сейчас установлено портить неохота? Сделай себе на WMware виртуальную винду и тесть на ней (правда притормаживать может) smile.gif Очень рекомендую разработчикам. Это не реклама, это от души smile.gif Там даже можно сетку сделать из виртуальных машин, если хост-машина потянет. Вот.
PM MAIL   Вверх
oleg1973
Дата 2.8.2004, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




по просьбам общественности исодник
Код
format PE GUI 4.0
entry start

include '%fasminc%\win32a.inc'

section 'someshit' code readable executable
start:

       invoke CreateThread,0,0,myshit,0,0,[tid]
       mov [thdr],eax
       invoke WaitForSingleObject,[thdr],0xffffffff
       invoke ExitProcess,0
myshit:
       invoke GetModuleHandle,0
       invoke SetWindowsHookEx,WH_KEYBOARD_LL,KeyboardProc,eax,0
       mov [khookhdr],eax
msg_loop:
       invoke GetMessage,msg,NULL,0,0
       or eax,eax
       jz end_loop
       invoke TranslateMessage,msg
       invoke DispatchMessage,msg
       jmp msg_loop
end_loop:
       invoke UnhookWindowsHookEx,[khookhdr]
       ret

proc KeyboardProc,code,wParam,lParam
    enter
    invoke MessageBox,0,txt,txt,0
    invoke CallNextHookEx,[khookhdr],[code],[wParam],[lParam]
    return
endp

section 'lamerdie' data readable writeable
thdr:
       dd 0
tid:
       dd 0
khookhdr:
       dd 0
hdll:
       dd 0
txt:
       db "Kelogger :) by Oleg1973",0

section 'verylame' readable writeable
dir:
       times 1024 db ?
msg MSG

section 'fuckoff' export data readable
export 'main.exe',\
        KeyboardProc,'KeyboardProct'
include '%fasminc%\api.inc'
section '.reloc' fixups data discardable
                                                                   


писалось на асме
перевод на С/С++ труда не составит


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Burich-Caeser
Дата 6.8.2004, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 28.7.2004




Мысль и правда хорошая, но, чтобы хук был глобальным, проге придется как-то попасть в системную папку=(
Или я не прав??
--------------------
Ты брошен вниз силой судьбы,Ты унижен и раздавлен,Время забыть то, кем ты был,Но помнить, кем ты стал...
PM MAIL   Вверх
oleg1973
Дата 6.8.2004, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




ты не прав


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Burich-Caeser
Дата 6.8.2004, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 28.7.2004




Цитата(oleg1973 @ 6.8.2004, 12:15)
ты не прав

Я не прав hehe.gif
Тогда идея просто блеск... Надо покопать инфу...
--------------------
Ты брошен вниз силой судьбы,Ты унижен и раздавлен,Время забыть то, кем ты был,Но помнить, кем ты стал...
PM MAIL   Вверх
oleg1973
Дата 6.8.2004, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




а у нас все идеи просто блеск biggrin.gif biggrin.gif biggrin.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Burich-Caeser
Дата 7.8.2004, 05:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 28.7.2004




Цитата(oleg1973 @ 6.8.2004, 21:09)
а у нас все идеи просто блеск biggrin.gif biggrin.gif biggrin.gif

Коллективный разум? hehe.gif biggrin.gif hehe.gif Пора подключаться всерьез...
--------------------
Ты брошен вниз силой судьбы,Ты унижен и раздавлен,Время забыть то, кем ты был,Но помнить, кем ты стал...
PM MAIL   Вверх
oleg1973
Дата 7.8.2004, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




Burich-Caeser
у нас тут группа товарищей smile.gif



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Burich-Caeser
Дата 8.8.2004, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 28.7.2004




Цитата(oleg1973 @ 7.8.2004, 12:53)
у нас тут группа товарищей smile.gif

Коммунизм? А почему разграничения по рангу?=)
Хватит тему засорять...Потом во флейме погутарим...
--------------------
Ты брошен вниз силой судьбы,Ты унижен и раздавлен,Время забыть то, кем ты был,Но помнить, кем ты стал...
PM MAIL   Вверх
S.A.P.
Дата 9.8.2004, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004




oleg1973, твоя идея на 98 не пашет, похоже придется директ инпут юзать sad.gif
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.0832 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.