Сейчас на форуме: UniSoft, _MBK_, laslo, bartolomeo (+7 невидимых) |
eXeL@B —› Программирование —› SendInput, KeyBd_Event не работают |
Посл.ответ | Сообщение |
|
Создано: 22 июня 2011 18:18 · Поправил: 50Hz_220B_1200W · Личное сообщение · #1 |
|
Создано: 22 июня 2011 18:39 · Личное сообщение · #2 |
|
Создано: 22 июня 2011 18:46 · Поправил: 50Hz_220B_1200W · Личное сообщение · #3 |
|
Создано: 22 июня 2011 19:35 · Личное сообщение · #4 |
|
Создано: 23 июня 2011 11:11 · Поправил: 50Hz_220B_1200W · Личное сообщение · #5 Даж не знаю с чего начать исследование проблемы. Нет опыта ни с работай драйвера клавиатуры, ни с удалением (не своих) глобальных хуков. В инете тольк для "чайников" как поставить хук и что такое хук. Грусть. Необходимо сделать нажатие клавиш, возможно без участия KeyBD_Event. Пока вижу один вариант - юзание i8042prt.sys. Как из D7 добраться до $60h $64h. Хелп! |
|
Создано: 24 июня 2011 12:41 · Личное сообщение · #6 |
|
Создано: 30 июня 2011 07:10 · Поправил: 50Hz_220B_1200W · Личное сообщение · #7 Собственно вопросы: 1. Определить, установлен ли на самом деле хук, или по другому фильтруются сообщения, если установлен найти, обойти. 2. есть ли аналог: Code:
этот код возвращает список процесоов, нужен аналог для сокрытия процессов ниже ZwQuerySystemInformation з.ы. Обход данной защиты только для сугубо личных целей и не будет служить для разработки вредных программ. Только для использования на моем компьютере. ps только что нашел что установлен перехват на ntUserSendInput, поэтому вопрос о глобальных хуках отпал. Этот перехват из драйвера. Вопрос: можно ли обойти не снимая сам перехват? т.е. реализация SendInput на низком уровне. Заранее спасибо |
|
Создано: 02 июля 2011 04:59 · Личное сообщение · #8 В статье Ms-Rem'a (Перехват API функций в Windows NT (часть 3). Нулевое кольцо) написано: В NativeAPI пользовательского уровня мы имеем пары аналогичных функций, отличающиеся только префиксами Zw и Nt, там они отличаются только названием, а имеют одну и ту же точку входа. На уровне ядра мы также имеем аналогичные пары функций, но между ними имеется одно различие, функции с префиксом Zw производят перед выполнением действия проверки системы безопасности (прав пользователя), а функции с префиксом Nt - нет. Отсюда возник вопросы: 1. Если нету проверки безопасности, то можно перехватить нужную nt функцию из юзермода, например, подменой jmp'a на свой (ну соотв. с возвратом =)). 2. Если первое возможно, то ... Если драйвер (не мой) ставит перехват на нужную мне nt функцию, то будет ли полезен мой перехват? Т.к. я буду перехватывать саму функцию, миную цепочку перехватов. Перехват драйвера (если он установлен после моего перехвата) будет бесполезен. Пытался доступно объяснить, извините, если где то не понятно. Если не прав, прошу поправить. Заранее спасибо |
|
Создано: 02 июля 2011 10:33 · Личное сообщение · #9 В юзермоде, хоть ты обперехватывайся, на драйвер ты вообще никак не повлияешь. Твой перехват будет получать управление только от твоего приложения. Потом драйвер получит управление. И будет получать уже ото всех приложений. Работать будет примерно так. Каков критерий полезности, не знаю, решай сам, будет полезно или нет. |
|
Создано: 02 июля 2011 13:00 · Личное сообщение · #10 50Hz_220B_1200W Вам бы вот эту тему почитать, там про перехваты написано достаточно. Есть ещё и рабочий пример, правда, в вашем случае нужно это перенастрить на KeServiceDescriptorShadow. Но почитать, думаю, всё же стоит. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 02 июля 2011 15:59 · Поправил: 50Hz_220B_1200W · Личное сообщение · #11 |
|
Создано: 06 июля 2011 07:31 · Личное сообщение · #12 |
eXeL@B —› Программирование —› SendInput, KeyBd_Event не работают |