Поиск:

Ответ в темуСоздание новой темы Создание опроса
> защита от трассировки 
:(
    Опции темы
_El_
Дата 22.11.2007, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



Как лучше всего защитить программу от дизассемблирования и трассировки?
PM MAIL   Вверх
MAKCim
Дата 22.11.2007, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: нет
Всего: 207



если кто-то действительно захочет дизассемблировать и протрассировать твою программу, то он это в любом случае сможет сделать
продизассемблировать уж точно
насчет трассировки...в принципе с правами администратора чего-нибудь сделать можно  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Akina
Дата 22.11.2007, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Есть только один способ "защитить программу от дизассемблирования и трассировки" - административно-физический. Т.е. не допустить попадание копии туда, где ее могут трассировать или дизассемблировать.

Однако эти процессы можно сильно ЗАТРУДНИТЬ. Вплоть до того, что эти процессы станут нецелесообразными - стоимость или время работы превысят все допустимые пределы. Тогда программу просто никто не станет ломать - как того неуловимого Джо, которого никто не может поймать, ибо нахрен никому не надо.

 smile А самый простой способ - вообще ее не писАть.  smile 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MAKCim
Дата 22.11.2007, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: нет
Всего: 207



Цитата(Akina @  22.11.2007,  22:43 Найти цитируемый пост)
Однако эти процессы можно сильно ЗАТРУДНИТЬ. Вплоть до того, что эти процессы станут нецелесообразными - стоимость или время работы превысят все допустимые пределы.

дизассемблирование да
можно сделать код очень трудным для понимания
а с трассировкой...
против DR3-DR0 + защиты по GD спасения, имхо, нет


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
dumb
Дата 23.11.2007, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 2
Всего: 158



при такой постановке вопроса, лучшее, что можно посоветовать - навесной протектор.
PM MAIL   Вверх
Akina
Дата 27.11.2007, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Цитата(MAKCim @  22.11.2007,  23:59 Найти цитируемый пост)
а с трассировкой...
против DR3-DR0 + защиты по GD спасения, имхо, нет 

Угу... ты "бешеный код" трассировать пробовал?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MAKCim
Дата 28.11.2007, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: нет
Всего: 207



Цитата(Akina @  27.11.2007,  23:52 Найти цитируемый пост)
Угу... ты "бешеный код" трассировать пробовал? 

что есть "бешеный код"?
я такую формулировку нигде не встречал?  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Akina
Дата 28.11.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Цитата(MAKCim @  28.11.2007,  14:59 Найти цитируемый пост)
что есть "бешеный код"?

Это код, который сам выполняется в режиме отладки, причем обработчик постоянно модифицирует как исполняемый код, так и точку возврата. Количество вызовов отладчика (и модификаций кода) составляет десятки и сотни тысяч. Это приводит к необходимости при трассировке на каждом шаге сохранять среду исполнения и восстанавливать либо эмулировать модификацию среды, что увеличивает время исполнения при трассировке на 4-5 порядков.

Впрочем, это не защищает от трассировки методом контроля шин - однако таких станков промышленно не делают.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MAKCim
Дата 28.11.2007, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: нет
Всего: 207



Цитата(Akina @  28.11.2007,  14:27 Найти цитируемый пост)
Это код, который сам выполняется в режиме отладки, причем обработчик постоянно модифицирует как исполняемый код, так и точку возврата.

обработчик чего?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Akina
Дата 28.11.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Цитата(MAKCim @  28.11.2007,  17:22 Найти цитируемый пост)
обработчик чего? 

В самой программе (не трассировщике!) ставится обработчик пошагового исполнения. Т.е. фактически программа трассирует саму себя. Этот процесс трассировать архи-непросто.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MAKCim
Дата 28.11.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: нет
Всего: 207



Цитата(Akina @  28.11.2007,  16:40 Найти цитируемый пост)
В самой программе (не трассировщике!) ставится обработчик пошагового исполнения. Т.е. фактически программа трассирует саму себя. Этот процесс трассировать архи-непросто. 

ну так можно поставить свой обработчик на #DB перед трассировкой
в итоге до обработчика в самой программе дело не дойдет  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Akina
Дата 28.11.2007, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Цитата(MAKCim @  28.11.2007,  17:45 Найти цитируемый пост)
можно поставить свой обработчик на #DB перед трассировкой
в итоге до обработчика в самой программе дело не дойдет  

Ты не забывай, что этот обработчик модифицирует и код, и точку возврата программы... к тому же пользуя для этого как данные содержимое стека... как ты его собрался объезжать?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MAKCim
Дата 28.11.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: нет
Всего: 207



Akina
пошаговая трассировка включается либо через TF, либо через int3 после каждой инструкции
при этом генерируется либо #DB, либо #BP
пишем драйвер
заменяем адреса обработчиков в соответствующих дескрипторах IDT на свои
в них
при возникновении исключения проверяем, в контексте какого процесса оно произошло
если в контексте трассируемого, то просто выходим из обработчика (через iretd на следующую после int3 (или TF) инструкцию)
иначе - передаем управление на оригинальный обработчик #DB или #BP
в итоге обработчик в самой программе не будет вызываться, а значит и не будет самомодификации кода и пр.


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Akina
Дата 28.11.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Цитата(MAKCim @  28.11.2007,  17:59 Найти цитируемый пост)
в итоге обработчик в самой программе не будет вызываться, а значит и не будет самомодификации кода и пр. 

И после отработки вместо окончательного, рабочего, кода, который должен получиться в результате модификаций, получаем черт знает что.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
dumb
Дата 28.11.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 2
Всего: 158



MAKCim, не, ты не допонял - если ты отрубишь обработчик, то и программа работать не будет. smile смысл такой, что обработчик трассировочного прерывания является неким "клубком Ариадны". т.е. кусок кода зашифрован и перемешан - при входе в него включаем трассировку, и после выполнения каждой инструкции обработчик "вытаскивает" следущую и раскриптовывает ее. при этом во избежание дампа предыдущая инструкция может быть обратно зашифрована.
вообще, это трассировать тяжеловато, а снимается довольно элементарно... ВМы тут же надо упомянуть... а вообще, все это - "суета сует и томление духа" (с) smile
PM MAIL   Вверх
MAKCim
Дата 28.11.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: нет
Всего: 207



dumb
Akina
все, я понял что вы имеете в виду
тогда будет сложновато  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
mb78
Дата 12.7.2008, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 11.7.2008

Репутация: нет
Всего: нет



Чтобы код трудно было понять можно его зашифровать(часть кода),а затем программно расшифровать и перейти по нему,правда в 
ассемблере это сделать не так просто,лучше использовать тот же самый отладчик.Чем больше раз вы его зашифруете,тем больше 
шансов,что тому,кто его будет расшифровывать это надоест.
Освободиться от трассировки так:
1)CLI   -ЗАПРЕЩАЕМ  ВСЕ ПРЕРЫВАНИЯ,В ТОМ ЧИСЛЕ И ТРАССИРОВКУ
2)Делаем перехват прерывания трассировки(вписываем переход на адрес,который будет например зависать программу или 
выходить из нее).
3)STI  -возобновляем нормальную работу компьютера.
PM MAIL   Вверх
dumb
Дата 22.7.2008, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 2
Всего: 158



Цитата(mb78 @  12.7.2008,  01:13 Найти цитируемый пост)
Освободиться от трассировки так

afair soft-ice на это лОжил.
PM MAIL   Вверх
CrackMe
Дата 12.1.2009, 04:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 12.1.2009

Репутация: нет
Всего: нет



по сабжу, из актуального на сегодня, перевод x86 (ну или во что код компилируется) в p-code+выполнение на своём интерпретаторе. совместимо с мутациями как интерпретатора так и самого псевдокода. сложно реализуемо. всякая самотрассировка, самомодифицирующийся код, левые байты после безусловных переходов (jmp @F/db 68h/@@:) как концепт и прочее отпугнёт либо остановит только начинающего взломщика.

Это сообщение отредактировал(а) CrackMe - 12.1.2009, 04:30
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для Windows/Dos | Следующая тема »


 




[ Время генерации скрипта: 0.1230 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.