![]() |
eXeL@B —› Программирование —› Перехват DeviceIoControl в 64-битной ОС |
Посл.ответ | Сообщение |
|
Создано: 06 июля 2009 16:36 · Поправил: huckfuck · Личное сообщение · #1 В-общем, мне нужно поменять результат работы DeviceIoControl В 32-битном kernel32.dll мой инлайн-патчер перехватывает DIC методом сплайсинга т.е. записывает в начало функции Code:
Code:
Мой код чекает dwIoControlCode, если он равен заданному, то выполняет мою функцию и выходит через RET 20h Но в 64-битном kernel32.dll мало того, что регистры другие (rax и т.п.), и непонятно, как передаются параметры для DIC (через регистры ??), так ещё и выход из функции осуществляется через RET Таким образом, мой патчер работает только на 32-битных системах Подскажите, если кто знает, как правильно перехватить DIC, чтобы можно было патчить выходные данные ![]() |
|
Создано: 06 июля 2009 18:05 · Личное сообщение · #2 |
|
Создано: 06 июля 2009 18:31 · Личное сообщение · #3 |
|
Создано: 06 июля 2009 20:02 · Личное сообщение · #4 |
|
Создано: 06 июля 2009 20:31 · Личное сообщение · #5 |
|
Создано: 06 июля 2009 20:43 · Поправил: huckfuck · Личное сообщение · #6 |
![]() |
eXeL@B —› Программирование —› Перехват DeviceIoControl в 64-битной ОС |
Эта тема закрыта. Ответы больше не принимаются. |