D
Dmitry67
Добрый день.
Я пытаюсь воспроизвести нажатие клавиш Fn+(F1...F12) на своем ноутбуке Asus(Win7 x64).
Раньше подобными вещами мне заниматься не приходилось, поэтому постарайтесь пожалуйста не покалечить себя фейспалмом, читая вопрос. )
За работу с клавишами Fn+(x) в системе отвечает драйвер ATKACPI - он принимает команды вида:
Драйвер принимает один из 3х ioctl-кодов: 0x222400, 0x222404, 0x222408 и управляющую команду(насколько я понял - это число QWORD).
Собственно я и пытаюсь найти список этих команд.
Если у вас есть 5 минут времени и вы можете помочь мне разобраться в дизассемблированном коде драйвера, буду крайне признателен.
Я загрузил драйвер в IDA 7, получил штук 20 функций, нашёл функцию где выполняется проверка кода IOCTL(sub_11094), из неё перешёл в функцию где, по-моему, проверяется значение команды(sub_1128), но вместо сравнения переменной с набором констант, обнаружил там какую-то ассемблерную арифметику в которой я вообще ни капельки не разбираюсь. Там вроде нет ничего сложного, поэтому, если не затруднит, скиньте мне пожалуйста список или формат команд, которые драйвер хочет увидеть.
К сообщению цепляю сам драйвер и файл IDA Pro.
Заранее спасибо...
--------------
для тех, кому СлишкомМногоБукв: Помогите достать управляющие команды из драйвера.
Я пытаюсь воспроизвести нажатие клавиш Fn+(F1...F12) на своем ноутбуке Asus(Win7 x64).
Раньше подобными вещами мне заниматься не приходилось, поэтому постарайтесь пожалуйста не покалечить себя фейспалмом, читая вопрос. )
За работу с клавишами Fn+(x) в системе отвечает драйвер ATKACPI - он принимает команды вида:
int status = DeviceIoControl(драйвер_ACPI, IOCTL_КОД, &команда, sizeof(команда), ответ, sizeof(ответ), &размер_ответа, NULL);
Драйвер принимает один из 3х ioctl-кодов: 0x222400, 0x222404, 0x222408 и управляющую команду(насколько я понял - это число QWORD).
Собственно я и пытаюсь найти список этих команд.
Если у вас есть 5 минут времени и вы можете помочь мне разобраться в дизассемблированном коде драйвера, буду крайне признателен.
Я загрузил драйвер в IDA 7, получил штук 20 функций, нашёл функцию где выполняется проверка кода IOCTL(sub_11094), из неё перешёл в функцию где, по-моему, проверяется значение команды(sub_1128), но вместо сравнения переменной с набором констант, обнаружил там какую-то ассемблерную арифметику в которой я вообще ни капельки не разбираюсь. Там вроде нет ничего сложного, поэтому, если не затруднит, скиньте мне пожалуйста список или формат команд, которые драйвер хочет увидеть.
К сообщению цепляю сам драйвер и файл IDA Pro.
Заранее спасибо...
--------------
для тех, кому СлишкомМногоБукв: Помогите достать управляющие команды из драйвера.
Вложения
Последнее редактирование модератором: