Re[4]: Примеры ассемблера ARM64 на MASM
От: nodir.temir https://github.com/tnodir
Дата: 15.02.22 17:16
Оценка:
Здравствуйте, reversecode, Вы писали:

R>обоснуйте что ваши коллбеки это не обходимое зло

R>и что это _никак_ не переделывается на С
R>хотя их аналоги у вас рядом лежат на С

Напр., мне надо указать коллбек для KeInitializeDpc() на адрес функции, которая сгенерена вручную как JIT.
Но адрес коллбека должен быть внутри адресов драйвера, иначе будет bug-check из-за PatchGuard-а.

Для этого в драйвере держу пачку вспомогательных функций, которые должны перенаправить вызов в другие функции.
При этом они должны принимать любые аргументы.

Поэтому написаны они на ассемблере, т.е. просто делают JMP по таблице на нужную функцию.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.