Сейчас на форуме: tyns777, zombi-vadim (+5 невидимых)

 eXeL@B —› Программирование —› Затираем следы в PEB
<< . 1 . 2 .
Посл.ответ Сообщение


Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 31 июля 2010 14:19 · Поправил: daFix
· Личное сообщение · #1

Состряпал такой не хитрый код, который должен избавить нас от IsDebuggerPresent:
Code:
  1. DWORD offset;
  2. offset = ThreadLocalBase + 0x18;
  3. ReadProcessMemory(pi.hProcess, (void*)offset, &offset,sizeof(offset),0);
  4. offset+=0x30;
  5. ReadProcessMemory(pi.hProcess, (void*)offset, &offset,sizeof(offset),0);
  6. offset+=0x2;
  7. WriteProcessMemory(pi.hProcess, (void*)offset, "0", 1,0);

Пробовал запускать на болванке, но палимся, не могу понять где ошибся.

ThreadLocalBase получаю из события CREATE_PROCESS_DEBUG_EVENT:
Code:
  1. ThreadLocalBase = (long)DebugEvent.u.CreateProcessInfo.lpThreadLocalBase;


-----
Research For Food





Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 15 мая 2015 21:18 · Поправил: DenCoder
· Личное сообщение · #2

Поднимаю старую тему, но есть причина этому: пост - кандидат на замечания по поводу NtRemoveProcessDebug!

( Да не воззвать бы сюда обратно духа ядра WinXP x86 в новой реинкарнации )

Дело в том, что обнулив DebugObjectHandle этой функцией (не путать с DebugPort, хоть они и связаны...), бряки, если ещё остались после этого и возникло по ним одно из отладочных исключений, вызовут окно с ошибкой, в подробностях будет 0x80000003(STATUS_BREAKPOINT) или 0x80000004(STATUS_SINGLE_STEP), если программа не знает как их эти ситуации обрабатывать! И придётся придумывать какой-то другой способ передачи сэпшенов отладчику...

Или я не во всём прав, потому что что-то упустил?

Кстати, OllyDbg виснет сразу после такого обнуления.

Добавлено спустя 4 часа
Сорри! Америку не открыл, упустил из виду посты ARCHANGEL'а...

-----
IZ.RU



<< . 1 . 2 .
 eXeL@B —› Программирование —› Затираем следы в PEB
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати