• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Дизассемблирование драйвера ACPI ноутбука Asus.

D

Dmitry67

Добрый день.
Я пытаюсь воспроизвести нажатие клавиш 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.
Заранее спасибо...

--------------
для тех, кому СлишкомМногоБукв: Помогите достать управляющие команды из драйвера.
 

Вложения

  • Asus ACPI driver.zip
    51,2 КБ · Просмотры: 264
Последнее редактирование модератором:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!