Антиотладочные приемы

eXeL@B DVD

Материал из Справочник исследователя программ

Перейти к: навигация, поиск

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

При запуске программы, которую я хочу отладить, она пишет, что запущен отладчик и отказывается работать дальше. Что делать?

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

Наиболее известные антиотладочные плагины

// строе

Можно конечно попытаться вручную найти где проходит проверка на наличие отладчика, но зачастую это сложно и можно использовать для этого специальные plugin'ы для SoftIce'а.

Под Windows 9x это FrogsIce, под Windows 2K/XP это IceExt. В большинстве случаев они позволяют "скрыть" отладчик, и программа должна будет запуститься без проблем. Замечу, что IceExt на данный момент (2003 год) является одним из самых продвинутых plugin'ов в этой области и помимо скрытия отладчика имеет еще много полезных функций. Хотя я рекомендую все-таки разобраться как происходит отлов отладчика и учиться обходить это самому (вручную).

Универсальный способ обнаружить трассировку, software-independent.

	mov cx,3	; RPL_MASK
	push gs 
	xor eax,eax
 	
	mov gs,cx 
	mov ax,gs
	
	mov gs,cx
	mov dx,gs
	
	mov gs,cx
	mov cx,gs
	
	add ax,cx
	add ax,dx
	pop gs
	setz al
; DEBUG: ZF | Eax