C-подобный:
mov rcx, [hKernel32]
lea rdx, [sGetSystemInfo]
call [_GetProcAddress]
lea rcx, [sys_info]
call rax
mov eax, dword [sys_info + 32]
cmp eax, 2
jl .ne_found
Вообщем, сделал реализацию анти-эмуляции дефендера, просто проверяю как он реагирует. Если ядер меньше двух - процесс отключается.
Чисто в теории, это может спасти от эмуляции на 11 винде?
Если нет, просьба рассказать про какие-то другие методы, мейби намного интереснее, хотелось бы для себя что-то новое узнать.
У меня в планах было просто запустить цикл на пару миллионов тактов чтобы дефендер не смог дойти до OEP и эмуляция упала.
А вообще, та же EDR детектит подобную манипуляцию банально через хук на GetSystemInfo:
C:
void WINAPI HookGetSystemInfo(LPSYSTEM_INFO lpSystemInfo)
{
pGetSystemInfoOriginal(lpSystemInfo);
if (lpSystemInfo->dwNumberOfProcessors < 2)
{
lpSystemInfo->dwNumberOfProcessors = 8;
}
}
Последнее редактирование: