Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| |
[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-ом 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
|
|
|