РАЗБОР
Проблема
Вопрос про анти-эмуляцию на ассемблере
Режим чтения
[ обложка статьи ]
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;
}
}
AI-выжимка
сгенерировано ИИ
Тезисы статьи скоро
Статья читается полностью. Тезисы со ссылками на разделы появятся позже.
Содержание
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
Перейти к курсу →
Поиск в обсуждении
Карта ветки
Продолжить чтение
Следующий разбор
IDA Pro дизассемблер: версии, лицензии и Ghidra
Комментарии
7