информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медАтака на InternetЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 На GitHub пугают ложными предупреждениями... 
 Атака на пользователей больших... 
 Notepad++ полгода раздавал зараженные... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Борьба с SoftIce-ом 31.01.03 00:34  Число просмотров: 1110
Автор: beetle <beetle> Статус: Member
<"чистая" ссылка>
> Народ!
> Как вызывать Win32 API так чтоб на них не реагировал
> SoftIce;
> чтоб bpx APiName не приводил к останову.
> И вообще как SoftIce работает при bpx APiName?
> Куда он ставит int 3 или может через DR0-4 регистры
> работает?
> Заранее спасибо....
не получится насколько мне известно
все процедуры из ntdll перехватывает
<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-2026 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach