GN>Reverce engineering традиционно делается снизу вверх — изучаются примитивные функции, и из них, как из киртпичиков, строится цельная картина происходящего. То, что ты пытаешься сейчас — воссоздать логику работы софта по наблюдаемому поведению (точнее, лишь его малой части) — это высший пилотаж, здесь нужно хорошо разбираться в предметной области. Фактически, нужно спроектировать все возможные варианты реализаций и угадать из них тот, что выбрали разработчики.
Всё это мне известно. Хотя гением я себя не считаю, хотя в предметной области уже разбираюсь досточно.
GN>Если ZA что-то там патчит, можно поставить бряк на запись и найти функцию, которая это делает. Потом посмотреть, когда она вызывается. Тебе очень повезло, что можно запускать изучаемый софт
Кстати, обход
ZA из ядра является тривиальной задачей, как выяснилось. Достаточно перехватить
NdisRegisterProtocol() через
EAT ndis.sys и запретить регистрацию протокола
ZA —
VSDATANT. Метод не универсальный, но всё же. Однако, этого мне достаточно, чтобы бросить
ZA ф топку.
Какие ещё сильные на ваш взгляд фаеры можете предложить посмотреть?