Перейти к содержанию

Лидеры

Популярный контент

Показан контент с высокой репутацией 11.07.2022 во всех областях

  1. ИНИЦИАЛИЗАЦИЯ ЗАЩИТЫ Перед тем как выводить какое либо приветствие на экран, таск проверяет флаг NtGlobalFlag из структуры PEB: mov eax, dword ptr fs:[30] - загружает в регистр EAX указатель на PEB структуру test byte ptr ds:[eax+68],70 - провряет флаг NtGlobalFlag по смещениею PEB+0x68 для 32-разрядной или PEB+0xBC дя 64-разрядной / Если флаг равен 0x70(FLG_HEAP_ENABLE_TAIL_CHECK (0x10) + FLG_HEAP_ENABLE_FREE_CHECK (0x20) + FLG_HEAP_VALIDATE_PARAMETERS (0x40)) - процесс создан из под отладчика. jne debug_detected Обойти это можно как изменением PEB структуры, так и просто пропатчить jne на NOP Далее идет следующий трюк, создается поток с проверкой где в цикле вызывается функция IsDebuggerPresent: Обойти можно разными путями, начиная от проNOPить создание потока, изменить пролог функции с push на ret или просто изменить логику внутри патчем cmp или jne\je Далее идет последний трюк, который так же будет выполняться в отдельном потоке как и предыдущий: Используются следующие функции: CreateToolhelp32Snapshot - Делает снимок процессов Process32Next - Получает информацию о следующем процессе Process32First - Получает информацию о первом процессе Я думаю многие уже догадались в чем заключается данный трюк, а если нет, вот подсказка: В цикле, как и в предыдущем трюке, будут искаться процессы, которые указаны выше, при детекте которых таск будет закрываться. АЛГОРИТМ Разбирать алгоритм нет никакого смысла(и желания), ибо сгенерированный ключ по имени палится в регистре перед сравнением.
    1 балл
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.