Таблиц как известно должно быть три - два указателя на таблицы функций типа PFNCLIENT и последняя - указатель на таблицу типа PFNCLIENTWORKER
Прототип RtlRetrieveNtUserPfn выглядит примерно так:
NTSYSAPI
NTSTATUS
NTAPI
RtlRetrieveNtUserPfn(PFNCLIENT **, PFNCLIENT **, PFNCLIENTWORKER **);
Возвращаемые таблицы лежат в read-only секции, но содержат простые функции-переходники на указатели в секции .data
Инициализируются же эти указатели в функции RtlInitializeNtUserPfn, прототип которой если меня зрение не обманывает выглядит примерно так:
NTSYSAPI
NTSTATUS
NTAPI
RtlInitializeNtUserPfn(
PFNCLIENT *, ULONG Tab1Size,
PFNCLIENT *, ULONG Tab2Size,
PFNCLIENTWORKER *, ULONG Tab3Size
);
Соотв-но нашлось еще
Комментариев нет:
Отправить комментарий