Например из дизасма очевидно что для хранения callbacks используется массив LsaPolicyChangeNotificationList, который состоит из 8 (под w7 & w8 - 9) структур
struct PolicyChangeNotification
{
struct _LIST_ENTRY List;
ULONG Count;
};
List соотв-но хранит уже непосредственно структуры, описывающие callback - примерно такие:
struct PolicyChangeNotification_item
{
/* Win32 Win64 */
/* 0x0 0x0 */ struct _LIST_ENTRY ListLink;
/* 0x8 0x10 */ PBYTE function_cb;
/* 0xC 0x18 */ PBYTE unk1;
/* 0x10 0x20 */ PBYTE unk2;
/* 0x14 0x28 */ PBYTE unk3;
};
По моему навигация по этим структурам представляет собой тривиальную задачу, так же как их нахождение
Результаты на моей рабочей машине например
PolicyChangeNotificationCallback[2]: 2 items
[1] 744794A3 C:\WINDOWS\system32\SAMSRV.dll
PolicyChangeNotificationCallback[3]: 1 items
PolicyChangeNotificationCallback[4]: 10 items
[0] 7574C494 C:\WINDOWS\system32\LSASRV.dll
[1] 71D1593B C:\WINDOWS\system32\kerberos.dll
[2] 744B907A C:\WINDOWS\system32\netlogon.dll
[3] 77C8B4FB C:\WINDOWS\system32\msv1_0.dll
[5] 75747A21 C:\WINDOWS\system32\LSASRV.dll
PolicyChangeNotificationCallback[5]: 1 items
[0] 75774D2B C:\WINDOWS\system32\LSASRV.dll
Комментариев нет:
Отправить комментарий