информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеПортрет посетителяСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Борьба с SoftIce-ом 30.01.03 21:29  Число просмотров: 932
Автор: Sidor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я немного не то имел в виду...Я разрабатываю систему защиты проги
и конечно же хотел бы, чтоб SoftIce не сильно помог в её исследовании.....
Поэтому мне и надо, чтоб Сайс не реагировал на API моего модуля защиты..
<programming>
[Win32] Борьба с SoftIce-ом 30.01.03 11:49  
Автор: Sidor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Народ!
Как вызывать Win32 API так чтоб на них не реагировал SoftIce;
чтоб bpx APiName не приводил к останову.
И вообще как SoftIce работает при bpx APiName?
Куда он ставит int 3 или может через DR0-4 регистры работает?
Заранее спасибо....
[Win32] Борьба с SoftIce-ом + тогда уж и с FrogIceом 31.01.03 12:45  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>


КАК защититься от SoftIce маза-фака-щеет.
[Win32] Борьба с SoftIce-ом 31.01.03 00:34  
Автор: beetle <beetle> Статус: Member
<"чистая" ссылка>
> Народ!
> Как вызывать Win32 API так чтоб на них не реагировал
> SoftIce;
> чтоб bpx APiName не приводил к останову.
> И вообще как SoftIce работает при bpx APiName?
> Куда он ставит int 3 или может через DR0-4 регистры
> работает?
> Заранее спасибо....
не получится насколько мне известно
все процедуры из ntdll перехватывает
[Win32] Борьба с SoftIce-ом 30.01.03 15:29  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Народ!
> Как вызывать Win32 API так чтоб на них не реагировал
> SoftIce;
API никак (собственно для того сайс и предназначен), но сайс можно настроить, чтоб не реагировал. Смотри условные брыкпойнты (bpx addr if cond).
> чтоб bpx APiName не приводил к останову.
> И вообще как SoftIce работает при bpx APiName?
при bpx - ставится int3, при bpm[b,w,d] - используются DR
Если BP ставится ниже 2 Гиг - работает только в контексте процесса в котором поставлен (смотри команду ADDR), если выше - во всех контекстах
> Куда он ставит int 3 или может через DR0-4 регистры
Сделай:
? APIName
и увидишь куда.
> работает?
> Заранее спасибо....
В общем успехов - но в хелпе к сайсу все достаточно хорошо описано
[Win32] Борьба с SoftIce-ом 30.01.03 21:29  
Автор: Sidor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я немного не то имел в виду...Я разрабатываю систему защиты проги
и конечно же хотел бы, чтоб SoftIce не сильно помог в её исследовании.....
Поэтому мне и надо, чтоб Сайс не реагировал на API моего модуля защиты..
ESP=0...ESP=OLD_ESP 31.01.03 11:34  
Автор: Chingachguk <Chingachguk> Статус: Member
<"чистая" ссылка>
Читал такую фичу в книге К.Касперски.

mov [SaveESP],esp
mov esp,0
; {Критичный код, который нельзя давать трейсить}
mov esp,[SaveESP]

Отладчик затыкается на том, что int 3 требует стека, а его нету ;)

Еще есть, кажется, какое-то апи у сайса (у его vxd-шки ?). Те если его зовешь и он ответил, то стоп, не работаем.

Про Х.. с винтом: есть также и обратные вещи: какой-то Frizen (Frozen ?) Sice - утилита для сайса, чтобы он не ощущался слишком подозрительными защитами ;)
int 3 вообще не трогает стек 3-го кольца 31.01.03 12:41  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Отладчик затыкается на том, что int 3 требует стека, а его
> нету ;)
Проц по исключению (коим и int 3 является) перекидывается в 0-е кольцо и уже потом выкладывает все на стек (нулевого кольца). А менять стек нулевого кольца - себе дороже. Придет прерывание, скажем DMA (или еще вероятнее - таймера) - и все :-))). В защищенном режиме этот прикол не прокатит. Кроме того при пошаговой отладке (F8 или ^T) используется не int 3, а флаг T в eflags, есть еще куча нюансов - мороки будет много :-)
Верно, с SoftIce'ом не работает. 01.02.03 17:54  
Автор: Chingachguk <Chingachguk> Статус: Member
<"чистая" ссылка>
> Проц по исключению (коим и int 3 является) перекидывается в
> 0-е кольцо и уже потом выкладывает все на стек (нулевого
> кольца). А менять стек нулевого кольца - себе дороже.

Скорее всего. В коде между обнулением ESP и восстановлением легко ставятся бряки и др - проверил.
Гы, даже не "скрее всего" а английским по белому написано в IA Software Developer's Manual-е (даже с картинками :-))) ) 01.02.03 19:01  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
[Win32] Ну, ребята из нумеги тоже не дураки :-))) 30.01.03 23:46  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Я немного не то имел в виду...Я разрабатываю систему защиты
> проги
> и конечно же хотел бы, чтоб SoftIce не сильно помог в её
> исследовании.....
> Поэтому мне и надо, чтоб Сайс не реагировал на API моего
> модуля защиты..
Совсем спрятаться от сайса - это вряд ли. Большинство систем защит, о которых я слышал или выводят из строя сайс или не запускаются сами.
Вот некоторые методы: сам сайс использует стандартные (для нумеги) интерфесы чтоб общаться с symbol loader-ом и др. - их можно найти и сказать, что мол с долбагером работать не буду. Можно перехватить прерывания или исключения. Одни из любимых народом int 3 и (не помню номер) illegal instruction. Причем люди не просто их перехватывают, а завязываются на них и без них работать не хотят. Можно портачить DR7 и сбрасывать флаг T прямо в дескрипторах pcr-ах.

Если о брыкпойнтах, то большинство софтайсовских брыкпойнтов (по bpx или по F9 - в основном сам только ими и пользуюсь) - это действительно int3, а bpm - DR0-3
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach