Home

Awesome

Swap-control-ioctl

Хук функции DRIVER_DISPATCH(IRP_MJ_DEVICE_CONTROL) отвечающую за ввод-вывод ioctl устройства на примере драйвера SpeedFan.

Суть такова, что мы в сам указатель PDRIVER_DISPATCH пишем адресс trampoline который находится в диапазоне секции .text ,тем самым я подразумевал что мы можем пройти слепую проверку античита :

if (major_function.address < section.address || major_function.address >= section.address + section_size) { /FOUND/ }

Но как оказалось, существуют более безопасные методы перехвата DRIVER_DISPATCH, позволяющие не модифицировать страницу .text