LINUX.ORG.RU
решено ФорумTalks

Защита программ от отладки


0

1

Недавно столкнулся с новым для меня способом защиты программ от отладки. При старте программа считает md4 от своей секции .text, далее сумма обрабатывается нетривиальным образом, чтобы запутать и затруднить отслеживание того, что происходит только по дизассемблерному выхлопу. Таким образом отлаживать программу, чтобы отследить ход проверки нельзя, так как отладчик, ставя брейкпоинты, изменяет код и тем самым изменяет контрольную сумму.

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

Возник вопрос, а возможно-ли действуя по тому-же принципу (только проверка целостности секции .text, никаких противо-отладчиковых приемов, расчитанных на конкретные отладчики) создать более стойкую защиту? То-есть нужно как-то исключить сравнение в конце.

PS: защита только от отладки, не от копирования и распространения.

★★★★

Ответ на: комментарий от cvs-255

А если под гипервизором?

Конкретно эту защиту я уже снял, так что дальше экспериментировать мне лень. Подождем следующего случая.

alexru ★★★★
() автор топика

Лет десять назад пара моих одногрупников портировала ядро на эксперементальную железяку с ARMом. Цикла загрузкия адра и отладки через COM-порт - сами понимаете. Поэтому задолбавшись страдать херней - они написали эмулятор в котором можно было собирать такие железяки «конфигом» - и на нем уже отлаживали линукс.

Мораль связання с топиком такова - от отладчика который эмулирует всю железяку - ты не защитишься подобным методом - если кто-то захочет действительно все поломать.

r ★★★★★
()
Ответ на: комментарий от r

Мораль связання с топиком такова - от отладчика который эмулирует всю железяку - ты не защитишься подобным методом - если кто-то захочет действительно все поломать.

Это было ясно с 1 поста. Если удастся сделать защиту, для снятия которй требуется делать/адаптировать готовый эмулятор, то в рамках топика это будет огромный успех.

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

У нас как бы форум о свободном софте. Какой смысл защищать его от отладки, если с ним идут исходники?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от alexru

> У авторов он есть, у меня - нет, программа проприетарная.

А зачем тогда тебе с ней возиться? Хочешь написать свободный аналог? (а больше из несвободной проги практически никакой пользы извлечь нельзя.

Отладка - это одно, реверс-инжиниринг - совсем другое :)

И то и другое ограничивать аморально. Впрочем второе должно быть в большинстве случаев вообще ненужным. Все программы должны быть свободными.

Xenius ★★★★★
()
Ответ на: комментарий от Eddy_Em

> У нас как бы форум о свободном софте. Какой смысл защищать его от отладки, если с ним идут исходники?

А если ты делаешь троян и не хочешь что бы его мог ловить антивирус/антируткит?

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Хм, в правилах форума ничего про обсуждение методов создания троянов и прочих вирусов нет :)

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.