Olly Debugger 1.10
Самый продвинутый ring-3 отладчик из всех имеющихся на сегодняшний день, к тому же бесплатный (в просторечии - Ольга или Олли). Основное преимущество - огромное количество плагинов, способных решить практически любую задачу и обломать рога даже крутым защитам. Недостаток - "движок" отладчика работает через MS Debugging API, страдающим кучей врожденных ограничений, оставляющим за собой множество трудноудаляемых следов и представляющим легкую мишень для антиотладочных технологий, для борьбы с которыми приходится писать довольно сложные плагины, зачастую работающие на уровне нулевого кольца (т.е. устанавливающие свой собственный драйвер). Другой недостаток - графический интерфейс, причем часть действий выполняется только мышью, ненавистной хакерам старого поколения, предпочитающих консоль и клаву.
Olly Debugger 2.00с pre-alpha 3
Экспериментальный отладчик с полностью переписанным debug engine и жестко урезанным функционалом (по сравнению с версией 1.10). Тем не менее, debug engine по-прежнему использует MS Debugging API и это по-прежнему ring-3 отладчик со всеми вытекающими отсюда ограничениями.
IDA Pro Advanced 5.2
Включает в себя довольно примитивный ring-3 отладчик, работающий через MS Debugging API (в NT) и через библиотеку ptrace (в UNIX), что делает его легкой добычей для защитных механизмов, причем готовых анти-антиоладочных плагинов под ИДУ - раз, два и обчелся, тем не менее при наличии SDK всегда можно написать свой собственный, только вместе с этим еще придется писать кучу недостающего функционала, уже реализованного у конкурентов. Пожалуй, единственное преимущество интегрированного отладчика - возможность отладки подопытного кода прямо "на месте" (just in the place), без выхода из дизассемблера. Поддерживаются как графические, так и консольные режимы (в UNIX - только консоль).
IDA Pro - коммерческий продукт, причем большинство "варезных" версий, гуляющих в сети, работают крайне нестабильно и постоянно падают, поэтому имеет смысл остановиться на бесплатной (и, естественно, нереально урезанной) версии 4.9.
Microsoft Debugger 6.8.4.0
Входит в состав WDK (Windows Driver Kit - бывший Driver Development Kit или DDK), а также в комплект Debugging Tools. Оба они бесплатны, но WDK намного больше по объему и требует предварительной регистрации для получения Windows Live ID (проверка валидности Windows при этом не осуществляется), в то время как Debugging Tools раздается без регистрации вместе с SDK, в которую входит документация, заголовочные файлы, библиотеки и пара примеров, как надо писать плагины. К сожалению, сторонних плагинов под Microsoft Debugger очень немного.
Microsoft Debugger может работать как в на прикладном уровне (ring-3), так и на уровне ядра. Вплоть до XP ядерная отладка требовала как минимум двух машин, соединенных COM-шнурком, но теперь достаточно и одной.
Поставляется в двух редакциях: windbg.exe - графический интерфейс и cdb.exe - интерфейс командой строки. Но все они являются лишь тонкими обертками вокруг dbgeng.dll, в которой, собственно, и реализован основной отладочный "движок", протокол обмена с которым документирован и потому dbgeng.dll можно использовать в качестве "фундамента" при написании универсальных распаковщиков исполняемых файлов (чтобы в очередной раз не писать трассер с нуля).
Soft-Ice 2.6.0 (Build 336)
Легендарный отладчик ядерного уровня всех времен и народов. Работает в обход MS Debugging API, что значительно усложняет антиотладку, однако учитывая, что для разработчиков защит soft-ice - враг номер один, практически все протекторы легко распознают присутствие soft-ice в системе, и без специальных расширений (которые мы будем упоминать по ходу дела) никак не обойтись.
Обозначенная версия не является последней, но зато стабильной и хорошо совместимой с хакерскими плагинами, "вгрызающимися" в отладчик без всякого API (путем bit-hack'а). С более новыми версиями хакерские плагины несовместимы. С другой стороны, Soft-Ice поддерживает плагины, написанные для MS Debugger, а вот обратной совместимости, увы, не наблюдается.
В настоящее время поддержка soft-ice прекращена и продукт похоронен. Он еще совместим с XP и Server 2003 (хотя на многоядерных процессорах уже наблюдаются серьезные проблемы), но в долгосрочной перспективе soft-ice обречен и необходимо искать ему замену. Причем, чем скорее - тем лучше.
Syser 1.95.19000.0894
Достойная альтернатива умирающему soft-ice. Ядерный отладчик, поддерживающий многопроцессорные машины и всю линейку NT-подобных систем, до Висты включительно. Это коммерческий продукт, написанный двумя китайскими хакерами: Wu YanFeng и Chen JunHao, предоставляющими всего лишь семидневный бесплатный триал, что оскорбительно мало, однако поскольку мыщъх вливается в Syser team, то рассказывать о том, как его ломать, не собирается (хотя ломается он легко). С другой стороны, в настоящий момент готовится книжка "Техника отладки II" с полной версий Syser'а на компакт-диске, осталось лишь немного подождать, чтобы заполучить это чудо.
Нас ждет графический интерфейс, к которому поначалу очень трудно привыкнуть, но в остальном - это все тот же самый soft-ice - во всяком случае, с точки зрения синтаксиса команд. Другое преимущество - будучи в team'е мыщъх плотно работает вместе с разработчиками над усилением обороноспособности отладчика, в смысле - стойкости к антиотладке. Плюс возможность подключения внешних плагинов (правда, плагины для Syser'а мыщъху неизвестны, кроме пары штук, написанных им самим, да и то в порядке эксперимента).
GDB 6.1
GNU Debugger - основной отладчик под UNIX, ориентированный на совершенно иной тип мышления, чем все вышеперечисленные отладчики. Это не просто интерактивный отладчик, скорее это станок с программным управлением, невероятно гибкий и мощный (в плане интерфейса). Отлаживать "честные" программы - одно удовольствие, а вот в плане антиотладки GDB даже и не пытается сопротивляться и работает через библиотеку ptrace, которая на самом деле никакая не библиотека, а системный вызов. Но это неважно. Важно другое - GDB принципиально не способен отлаживать программы, которые не хотят, чтобы их отлаживали. И такие программы мало-помалу уже начинают появляться (взять хотя бы упаковщик исполняемых файлов от Shiva).
Обозначенная версия GDB собрана в 2004 году и к новым билдам, очевидно, не относится, однако поскольку основной debug engine реализован не в GDB, а сосредоточен в ядре системы, то версия GDB решающего значения не имеет.
Естественно, помимо GDB существуют и другие отладчики, например, Lin-Ice, но... поскольку антиотладочные технологии под UNIX только-только начинают развиваться, для наших экспериментов вполне сгодиться и GDB.
источник: "энциклопедия антиотладочных приемов"