Ребят, кто силен? Мне нужно запустить программу на моем компе чтобы она не отображалась в списке процессов. Читал что можно сделать "перехват и подмену", но на этом инфа закончилась) Кто вкурсе этого метода, или может знает какой-то другой, подскажите плз!
В c# можно попробовать сделать. telegram: @grallator Интересная задача, имхо. Я работал с процессами и WinAPI, но такого ещё не делал. Пиши, если что
Не особо шарю в этом вопросе, но можно заинжектить твой процесс в легитимный и тогда де-факто будет там отсутствовать. Любят инжектить обычно в explorer.exe и svhost.exe.
ТС - плохо искал, инфы по этому поводу полно. В таком случае вариантов несколько, по порядку. 1. Можно заинжектить код/длл в диспетчер задач и перехватить функцию, получающую список процессов - хз куда уходит вызов, на win8.1 перехват Process32Next, NtQuerySystemInformation не помог. 2. Можно использовать технику runpe и запуститься в другом процессе. В гугле полно инфы, но если требуется - скину пример. 3. Процесс можно сделать неубиваемым для процессов с меньшими правами: Code: 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; } Помимо этих вариантов, есть и другие, например, инжект длл куда-нибудь (длл выполняет нужные действия)