Здравствуйте, FDSC, Вы писали:
FDS>А зачем именно вируальную? Тут просто надо память прочесть. (см. OpenProcess. ReadProcessMemory и AdjustTokenPrivileges).
Забыл загрузить сообщения выше. Уже написали.
ГЛАВНОЕ: не забудь получить привелегии.
Что-то вроде этого.
if (NOT OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)) then
raise Exception.Create('OpenProcessToken');
//---
LookupPrivilegeValue(nil, 'SeDebugPrivilege',
tkp.Privileges[0].Luid);
tkp.PrivilegeCount := 1; // one privilege to set
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,
longbool(FALSE),
tkp,
0,
nil,
tmp);