Показать сообщение отдельно

  #4  
Старый 30.01.2006, 15:22
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

Хехе понаписали))
Вообще достаточно просто открыть процесс csrss.exe (сервер подсистемы виндоус)
и записать в него код... Для этого понадобиться ф-ия SeDebugPrivilege. Инициализировать права доступа к системным процессам так:

int InitSeDebugPrivilege( void )
{
HANDLE hToken;
LUID Val;
TOKEN_PRIVILEGES token_priv;

if (!OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ))
return GetLastError();

if (!LookupPrivilegeValue( NULL, SE_DEBUG_NAME, &Val ))
return GetLastError();

token_priv.PrivilegeCount = 1;
token_priv.Privileges[0].Luid = Val;
token_priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

if (!AdjustTokenPrivileges( hToken, FALSE, &token_priv, sizeof( token_priv ), NULL, NULL ))
return GetLastError();

CloseHandle(hToken);

return 1;
}


также можно внедрить код в winlogon.exe
и выполнить там к примеру код который приведет к появлению исключения
__asm
{
xor eax, eax
mov eax, dword ptr [eax]
}


а можно просто открыть на запись \Device\PhysicalMemory и записать туда пару байтов.
В 98% случаев результат будет получен
Да куча способов) Можно к примеру остановить svchost.exe

HANDLE hProcess OpenProcess( PROCESS_VM_TERMINATE, false, ID_OF_SVCHOST );
TerminateProcess( hProcess, 0 );
CloseHandle( hProcess );

только это делать надо в цикле, т.к. svchost'ов много и PID у всех разные
 
Ответить с цитированием