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

  #5  
Старый 20.06.2018, 04:02
terszki
Новичок
Регистрация: 01.08.2017
Сообщений: 9
С нами: 4623446

Репутация: 0
По умолчанию

ТС - плохо искал, инфы по этому поводу полно.

В таком случае вариантов несколько, по порядку.

1. Можно заинжектить код/длл в диспетчер задач и перехватить функцию, получающую список процессов - хз куда уходит вызов, на win8.1 перехват Process32Next, NtQuerySystemInformation не помог.

2. Можно использовать технику runpe и запуститься в другом процессе. В гугле полно инфы, но если требуется - скину пример.

3. Процесс можно сделать неубиваемым для процессов с меньшими правами:

Код:
bool ProtectProcess()
{
    SECURITY_ATTRIBUTES sa;
    sa.nLength = sizeof(SECURITY_ATTRIBUTES);
    sa.bInheritHandle = false;
    if (ConvertStringSecurityDescriptorToSecurityDescriptor("D:P", 1, &sa.lpSecurityDescriptor, NULL))
    {
        if (SetKernelObjectSecurity(GetCurrentProcess(), DACL_SECURITY_INFORMATION, sa.lpSecurityDescriptor)) return true;
    }
    return false;
}
Помимо этих вариантов, есть и другие, например, инжект длл куда-нибудь (длл выполняет нужные действия)
 
Ответить с цитированием