Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

Я знаю что на этот вопрос Вы нормально не ответите, но все же:   Найти похожие ветки 

 
Кириешки ©   (2004-07-27 09:26) [0]

Как написать клавиатурного шпиона? Те шпионы, документацию по которым я читал написаны либо на Асме (я ее очень плохо знаю), либо не правильно обрабатывают прерывание. Пытался я даже их буффера клавиатуры читать, но у меня получалось слишком большое кол-во повторений при зажатой клавише. :(

ЗЫ. Мне он нужен для того чтобы создать резидента у себя на машине. Я зочу сделать программу которая знала бы определенные комбинации клавиш и делала бы какие-нибудь действия, если их отлавливала. Например сворачивала все окна, или "нажимала" на PrintScreen.


 
Kerk ©   (2004-07-27 09:28) [1]


> либо не правильно обрабатывают прерывание

????
прерывание? это ты где таких монстров видел?

> Пытался я даже их буффера клавиатуры читать

АААА... держите меня...


 
ИдиотЪ   (2004-07-27 09:30) [2]

ловушки пишутся
есть это, давно опубликовано и на си и на дельфи
и где сайт нарыл, с асмом ?


 
Dmitriy O. ©   (2004-07-27 09:32) [3]

Ключевое слово Hookkey даже на этом сайте гдет было


 
Romkin ©   (2004-07-27 09:34) [4]

статья о хуках есть на сайте. Там все достаточно подробно.
http://www.delphimaster.ru/articles/hooks/index.html
Единственное примечание: естественно, хук будет выдавать просто символы клавиш. Для перевода можно использовать функцию ToAscii.


 
Кириешки ©   (2004-07-27 09:38) [5]

>Kerk ©   (27.07.04 09:28) [1]
Теоретическая основа специально для >Kerk ©  
Клавиатура подключена к линии запроса IRQ 1 (уровень приоритета) которая составляет прерывание INT 9h обслуживаемое модулями BIOS. Драйверы клавиатуры могут организовывать дополнительную обработку этого прерывания.
Буфер клавиатуры.
Область памяти размером 32 байта в области данных BIOS, начальный адрес который 40:1eh предназначенная для использования обработчиками 9h и 16h прерывание, а так же прикладными программами, как буфер для хранения кодов нажатых клавиш. Расчитан на 15 нажатых клавиш, генерирующих 2-х байтовые коды + 2 байта для клавиш Enter.
Буфер организуется как кольцевая очередь, доступ к которой осущ-ся с помощью указателя “головы” (head pointer) и указателя “хвоста”(tail pointer)
Указатель “хвоста” задает смещение до слова, где будет записан обработчиком прерывании 9 код буферизированный (запоминаемой клавиши).
Указатель “головы” задает смещение слова, кот. будет возвращено по запросу, сделанного ф-ми BIOS или ОС (чтение буфера).
Буфер клавиатуры – классический пример использования кольцевого буфера для организации асинхронного взаимодействия двух программ «производитель - потребитель». Асинхронность взаимодействия означает, что запись в буфер и чтение из него происходит в случайные не связанные между собой моменты времени.

>ИдиотЪ   (27.07.04 09:30) [2]
Например вот сдесь :
http://hackzone.stsland.ru/33.html


 
ИдиотЪ   (2004-07-27 09:41) [6]

Кириешки ©
ну нарвался на любителя асма, это хорошо)
а вот что поиск не продолжил дальше, это плохо


 
Игорь Шевченко ©   (2004-07-27 09:42) [7]


> Я зочу сделать программу которая знала бы определенные комбинации
> клавиш и делала бы какие-нибудь действия, если их отлавливала.
> Например сворачивала все окна, или "нажимала" на PrintScreen.


F1 - RegisterHotKey


 
Кириешки ©   (2004-07-27 09:48) [8]

>Игорь Шевченко ©   (27.07.04 09:42) [7]

Точно блин! Лучше зарегистрировать клавиши чем шпиона писать ! (Это я абсолютно без сарказма). Спасибо, и как я сам не догадался...

Good-bye.
Ветку можно закрыть.


 
Кириешки ©   (2004-07-27 09:51) [9]

Извините если это как-то соркастически звучало, просто меня эмоции переполняют - через несколько часов сбудится моя недельная мечта (при помощи меня и подсказки Игоря Шевченко)


 
TUser ©   (2004-07-27 09:54) [10]

> статья о хуках есть на сайте. Там все достаточно подробно.

И еще на сайте А.Подгорецкого. Там к практике ближе. + исходники этих шпионов по сети разбросаны. Но лучше не надо их писать.


 
Kerk ©   (2004-07-27 15:25) [11]


> Кириешки ©   (27.07.04 09:38) [5]

Пасибо конечно. Мне на втором курсе это уже вдолбили. :)
Вот сделай, чтоб эта хрень в NT работала, я тебе руку пожму.. :)


 
Игорь Шевченко ©   (2004-07-27 15:29) [12]


> Вот сделай, чтоб эта хрень в NT работала, я тебе руку пожму..
> :)


Тоже мне, бином Ньютона - пишешь клавиатурный драйвер, взяв пример из DDK


 
Kerk ©   (2004-07-27 15:32) [13]


> Тоже мне, бином Ньютона - пишешь клавиатурный драйвер, взяв
> пример из DDK

Ну-ну. из нулевого кольца окна сворачивать... давай-давай...


 
nikkie ©   (2004-07-27 15:36) [14]

>через несколько часов сбудится моя недельная мечта (при помощи меня и подсказки Игоря Шевченко)
между прочим, Dmitry O. посоветовал тоже самое на 10 минут раньше :))


 
Игорь Шевченко ©   (2004-07-27 16:13) [15]

Kerk ©   (27.07.04 15:32)


> Ну-ну. из нулевого кольца окна сворачивать... давай-давай...


А в чем принципиальная проблема ?


 
Kerk ©   (2004-07-27 16:17) [16]


> А в чем принципиальная проблема ?

Принципиальной проблемы нет. Геморройно оно.


 
Игорь Шевченко ©   (2004-07-27 16:19) [17]

Kerk ©   (27.07.04 16:17)


> Геморройно оно.


Вызывать фукнции из Win32k ? Почему же ?


 
Кириешки ©   (2004-07-27 16:20) [18]

>Kerk ©   (27.07.04 15:25) [11]

В NT придется писать драйвер в kernel mode, это мне ненадобно.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.049 c
3-1089456660
Knight
2004-07-10 14:51
2004.08.15
Защита паролем...


14-1091210446
Кириешки
2004-07-30 22:00
2004.08.15
Приколы - Компьютерный жаргон часть 2


4-1088842895
Колбасьев
2004-07-03 12:21
2004.08.15
Запуск процедуры по указателю


1-1091076278
Mental_Ray
2004-07-29 08:44
2004.08.15
Как узнать позицию (не координаты) курсора в RichEdit?


1-1091352886
i-s-v
2004-08-01 13:34
2004.08.15
Как сфоткать полупрозрачные окна





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский