воскресенье, 21 июля 2019 г.

Обход Patch-Guard

Забавную штуку я обнаружил сегодня. То, что мы с Hex'ом придумали больше 7ми лет назад внезапно всплыло в виде библиотеки на гитхаб: https://github.com/everdox/InfinityHook

Если кратко, то через подмену указателя в структуре, которую не контролирует Patch-Guard можно перехватывать довольно много всего в системе(начиная с vista). В моем случае технология использовалась в одном продукте, которому уже несколько лет. И перехватывались именно сисколы(как и в InfinityHook). И хотя в либе используется "Circular Kernel Context Logger", а у меня в коде "NT Kernel Logger" совпадение крайне забавное. Дойти до подобной идеи, как мне кажется, не тривиально. В коде библиотеки есть несколько грубых ошибок, которые будут приводить к потере сисколов, и только это позволяет мне думать, что человек дошел до идеи сам, а не получил эту информацию от бывших сотрудников, которые имели доступ к этой либе в svn на моей работе :)

Комментариев нет:

Отправить комментарий