Сравнение OllyDbg и SoftIce



Бредисловие...
В последнее время народ потихонечку (и по-быстрому!) начинает переходить на ольку. Хотя бы потому, что она в ряде случаев удобней в использовании, хотя бы потому, что не появилось еще на Земле человека, у которого бы возникли трудности с установкой ольки (секрет в том, что она ей не требуется:), хотя бы потому, что она проста в управлении, что особенно важно для новичков... Сейчас стало появлятся все больше статей по исследованию защиты программ с применением именно OllyDbg. Наконец, OllyDbg — просто незаменимый отладчик для тех, у кого не устанавливается сайс. Все это хорошо, но... Но все же большинство статей (полезных статей!) опираются на SoftIce и если о том, как поставить бряк вопросов обычно не возникает, то при встрече в такой статье, например команды bpm esp-4, человеку, который юзает Olly, ничего не остается, как с огорчением закрыть статью...
Я подумал: «А не создать ли таблицу соответствий: Олли-Сайс?» Так получилось, что высказанное, в принципе в шутку, мое предложение на форуме сайта CRACKL@B было поддержано модератором lord_Phoenix и я принялся за дело. Сначала топик был экспериментальным, а потом оказалось, что большинству народа CRACKL@B понравилась эта идея. Таблица росла... Пока она занимала один пост, это было сносно, но потом она расширилась до двух постов и стала такой уродливой, что народ начал жаловаться на ее нечитабельность. В очередной раз было высказано предложение разместить таблицу на бесплатном хостинге — так появился и этот сайт, и таблица сравнений на нем.
Отзывы и предложения можете оставить в Гостевой Книге

Таблица сравнений OllyDbg и SoftIce
Внимание! У вас должна присутствовать командная строка в ольке. Если у вас ее нет, то скачайте плагин CommandBar.

Функциональные клавиши:
SoftIce OllyDbg Краткое описание
F1 ## Хэлп
F2 ## Вкл./выкл окно регистров
## ## ##
F4 ## Восстанавливает экран
F5 ALT+F5 Временно выйти из отладчика
*В Olly — поставить-снять режим «Поверх всех окон»
F6 ## Переключает курсор между окном команд и окном кода
F7 F4 Прогоняет программу до текущей позиции курсора
F8 F7 Трассировка с заходом в циклы
F9 F2 Поставить бряк там, где видеокурсор
F10 F8 Трассировка без захода в циклы
F11 F9 Продолжить выполнение программы
Ctrl + Ctrl + На одну позицию вправо
Ctrl + Ctrl + На одну позицию влево
Ctrl + ## На одну строку вниз
Ctrl + ## На одну строку вверх
Команды:
*Квадратные скобки впечатывать не нужно (если нет оговорок) - они для наглядности.
*Регистр букв при впечатывании API-функций в OllyDbg важен!
Команда SoftIce OllyDbg
Править код
Пример:
a [адрес строки]
a 401000
a [адрес строки]
a 401000
Аналог айсовскому
бряку на память
Пример:
bpm [адрес строки]

bpm esp-4
hr [адрес строки]

hr esp-4
Бряк с условием
Пример1:
Пример2:
bpx [адрес/API-функция] if [условие]
bpx 00443377 if EAX<666 && EAX>135
bpx MessageBoxA if ESP->C == 0x400
bp [адрес/API-функция] if условие]
bp 00443377,EAX<666 && EAX>135
bp MessageBoxA,ESP+C==400
«Обычный» бряк
Пример: 
bpx [адрес/API-функция]
bpx MessageBoxA 
bp [адрес/API-функция]
bpx MessageBoxA
Сдампить
Пример:
d/db/dw/dd [адрес строки]
db 401000
d/db/dw/dd [адрес строки]
db 401000
«Глубокий» дамп


Пример:
 
d *(адрес строки)
d *(*(адрес строки))
и т.д.
d *(*(eax))
 
d [адрес строки]
d [[адрес строки]]
и т.д.
d [[eax]]
*Здесь квадратные скобки обязательны!
Калькулятор
Пример:
? выражение
? eax+200
? выражение
? eax+200


Найти в 
отладчике
ASCII-символы

s d L ffffffff "<введённое вами выражение>"
(обязательно в кавычках)









*Чтобы продолжить поиск надо использовать команду s без параметров
А здесь не все так просто...
Дело в том, что специальной команды для такого дела не предусмотрено (а может, просто я не нашел), а потому придется идти таким путем:
1) Нажмите Alt+M
2) Установите видеокурсор на верхнюю строку открывшегося окна (обязательно!)
3) Нажмите Ctrl+B, наберите искомую последовательность символов и нажмите Enter
4) Если что нибудь найдется, но вам это не подойдет, то продолжить поиск можно командой Ctrl+L
Вызвать карту памяти
MAP32
ALT+M
Вызвать таблицу потоков THREAD меню: View -> Threads
Вызвать таблицу хэнделов окон HWND имя_проги меню: View -> Windows
*если запустили прогу, а в Windows ничего не показывает, то правый глаз мыши->actualize
Сравнение таблиц по колонкам:
Название таблицы Номер и название колонки в SoftIce Номер и название колонки в OllyDbg
Карта памяти процесса 1. Имя модуля
2. Имя секции размещённой в данном блоке из колонки
3. Номер выполняемого файла
4. Адрес первого байта данного блока памяти
5. Размер блока в байтах
6. Тип блока
7. ##
 
8. ##
 
9. ##
 
1. Адрес первого байта данного блока памяти
2. Размер блока в байтах
 
3. Имя модуля
4. Имя секции размещённой в данном блоке
5. Краткая информация о содержимом блока
6. Тип блока
7. Текущее состояние доступа для страниц памяти данного блока
8. Начальное состояние доступа для страниц памяти данного блока
9. Отображается путь к проецируемому файлу
*В колонках 7 и 8 обнаружены баги
Таблица потоков 1. Идентификационный номер
2. Ядро блока переменных окружения потока
3. Адрес основания стека потока
4. Адрес вершины стека потока
5. Адрес указателя стека потока
6. Пользовательский блок переменных окружения потока
7. Имя и идентификатор процесса-владельца потока(id)
8. ##
1. Идентификационный номер
2. Точка входа (EP)
3. Блок данных
4. Сообщение о последней ошибке
5. Состояние процесса (актив/заверш)
6. Приоритет процесса
 
7. Пользовательское время
 
8. Системное время
Распаковка:
*Кхм... Ну, если я начну сюда копировать все статьи по распаковке, которые есть в инете, то это будет свинством;) Поэтому, просто освещу вопрос «насколько справедливы статьи по распаковке в Сайсе для Ольки?»
ΘΘΘΘΘΘΘΘΘΘΘΘΘ SoftIce OllyDbg
ΘΘΘΘΘΘΘΘΘΘΘΘΘ 1. Всякие манипуляции, потом bpm esp-4
2. Ставим бряк (чтоб вывалиться из проги в сайс), потом трейсим по коду
3. Зациклить прогу, потом снять дамп
4. Продолжение следует...
1. Просто hr esp-4
2. Сразу трейсим по коду
 
3. Зацикливать не надо
4. Продолжение следует...


Отзывы и предложения можете оставить в Гостевой Книге
Внимание!
Эта таблица часто обновляется. Так что нет смысла копировать ее на свой сайт. Если она Вам понравилась - просто укажите ссылку на эту страничку.