Сейчас на форуме: _MBK_, vsv1 (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Сравнение Olly и сайса (топик специально для таких вопросов) + таблица соответствий
<< . 1 . 2 .
Посл.ответ Сообщение


Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 06 января 2007 14:56 · Поправил: Gambit
· Личное сообщение · #1

Всем привет! Решил занятся полезным делом
По всему форуму разбросаны очень похожие вопросы, типа: "есть ли аналог такой-то команды сайса в OllyDdg (в ольке)?" Это и неудивительно, ведь в последнее время народ потихонечку (и по-быстрому!) начинает переходить на ольку. Хотя бы потому, что ее меньше программ могут обнаружить, чем сайс, хотя бы потому, что она в ряде случаев удобней в использовании, хотя бы потому, что не появилось еще на Земле человека, у которого бы возникли трудности с установкой ольки, хотя бы потому, что она сравнительно проста в управлении, что особенно важно для новичков... Сейчас стало появлятся все больше статей по исследованию программ (на предмет защиты;) с применением именно Olly Dbg. Наконец, Olly Dbg - просто незаменимый отладчик для тех, у кого не устанавливается сайс.
Все это хорошо, но... Но все же большинство статей (полезных статей!) опираются на SoftIce и если о том, как поставить бряк вопросов обычно не возникает, то при встрече в такой статье, например команды bmp esp-4, человеку, который юзает Olly, ничего не остается, как с огорчением закрыть статью...
В этом топике (если его через пару постов не закроют;) преполагается расширение таблицы, которую Вы видите ниже.
ЗДЕСЬ РАЗРЕШАЕТСЯ:
1)Задавать вопросы по теме
2)Отвечать на вопросы
3)Делится своими наблюдениями/знаниями по теме.
ЗАПРЕЩАЕТСЯ:
1) На вопросы по теме отвечать "читай такой-то топик/ такую-то статью"
2) Нарушать правила форума (это не есть флудотоп)

Предполагаемая схема работы такова: человек задает вопрос по теме, кто-то на него отвечает, потом я заношу соответствие SoftIce<-->OllyDbg в таблицу. Естественно, не обязательно дожидаться, пока появится вопрос - если Вы знаете о каком-то соответствии, и оно не указано в "таблице", то можете поделится своими наблюдениями.

ЗЫ: Этот топик - экспериментальный. Эксперимент разрешил провести модератор lord_Phoenix.

SoftIce <---------->OllyDbg
______________________________________________________________________ _______
бряк на память

ebp<---------->hr
<<пример>>
ebp esp-4 <---------->hr esp-4
______________________________________________________________________ _______
бряк с условием

BPX ReadFile if (esp->c == 0x400) <---------->bp ReadFile,[ESP+C]==400

где ReadFile - аргумент( либа адрес, либо имя функции, хотя может и ещё чё вписать можно)
______________________________________________________________________ _______
бряк, просто бряк...

bpx [имя функции]<----------> bpx [имя функции]
<<пример>>
bpx MessageBoxA<----------> bpx MessageBoxA
______________________________________________________________________ _______
сдампить

:d<---------->d
<<пример>>
:d ebp-9c<---------->d ebp-9c
______________________________________________________________________ _______
посчитать

:?выражение<---------->? выражение (отступ обязателен) или calc выражение
<<пример>>
:?eax<---------->? eax или calc eax
______________________________________________________________________ _______
Добавляйте! Все в ваших руках

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 24 января 2007 14:27 · Поправил: Gambit
· Личное сообщение · #2

Amok пишет:
Между l и ffffffff пробел поставь.

"– Как вам удалось бежать?
– Сидим день, два,три... а потом индеец ОстрыйГлаз заметил, что у тюрьмы не хватает одной стены;)"
Спасибо, ОстрыйГлаз

У-упс! надо же, новая страница. Чтобы не нарушать гармонии, размещу таблицу раньше времени, но зато вначале страницы;)
Вы также можете оставить отзывы и предложения по таблице.
Итак, для тех кто попал сразу на вторую страницу, для тех кто в танке.
По всему форуму разбросаны очень похожие вопросы, типа: "есть ли аналог такой-то команды сайса в OllyDdg (в ольке)?"
В этом топике расширяется таблица, которую Вы видите ниже.
ЗДЕСЬ РАЗРЕШАЕТСЯ:
1)Задавать вопросы по теме
2)Отвечать на вопросы
3)Делится своими наблюдениями/знаниями по теме.
ЗАПРЕЩАЕТСЯ:
1) На вопросы по теме отвечать "читай такой-то топик/ такую-то статью"
2) Нарушать правила форума (это не есть флудотоп)

Предполагаемая схема работы такова: человек задает вопрос по теме, кто-то на него отвечает, потом я заношу соответствие SoftIce<-->OllyDbg в таблицу. Естественно, не обязательно дожидаться, пока появится вопрос - если Вы знаете о каком-то соответствии, и оно не указано в таблице, то можете поделится своими наблюдениями.

таблица обновлена 25.01.07.
____________________________________________________________________________________

SoftIce <---------->OllyDbg
______________________________________________________________________ ______________

Условные обозначения:

## - "такой кнопки нету"


==========================================================================
Функциональные клавиши:
====================================================================== ====

F1 <----------> ## // Хэлп
F2 <----------> ## // Вкл./выкл окно регистров
F3 <----------> ## // Изменяет текущий режим окна кода
F4 <----------> F5 // Восстанавливает экран
F5 <----------> ## // Возвращается в вашу программу
F6 <----------> ## // Переключает курсор между окном команд и окном кода
F7 <----------> F4 // Прогоняет программу до текущей позиции курсора
F8 <----------> F7 // Трассировка с заходом в циклы
F9 <----------> F2 // Поставить бряк там, где курсор
F10<---------->F8 // Трассировка без захода в циклы (call'ы):

CTRL стрелка вправо <----------> CTRL стрелка вправо // на одну позицию вправо
CTRL стрелка влево.. <----------> CTRL стрелка влево.. // на одну позицию влево

==========================================================================
Команды (В ольке должен быть установлен плаг CommandBar)
====================================================================== ====
аналог айсовскому бряку на память

bpm<---------->hr (в ольке допускается только 4 бряка hardware)
<<пример>>
bpm esp-4 <---------->hr esp-4

______________________________________________________________________ ______________
бряк с условием

КСБ - расшифровывается как "КудыСтавитьБряк"

BPX КСБ if условие <---------->BP КСБ,условие
Расшифровывается как: Поставь бряк туда-то, если выполнилось равенство (неравенство) такое-то

<<пример>>
BPX MessageBoxA if ESP+123==400 <---------->BP MessageBoxA,ESP+123==400
BPX 00443377 if EAX<666 && EAX>135 <---------->BP 00443377,EAX<666 && EAX>135
BPX 33557722 if esp->c == 0x400 <---------->BP 33557722,ESP+C==400

______________________________________________________________________ ______________
бряк на функцию/адрес

bpx [имя функции/адрес]<----------> bp [имя функции/адрес]
<<пример>>
bpx MessageBoxA<----------> bp MessageBoxA (ЗАГЛАВНОСТЬ/строчность букв важна!)
bpx 00493354<---------->bp 00493354

______________________________________________________________________ ______________
сдампить

Переход по адресу в дамп
:d<---------->d
<<пример>>
:d ebp-9c<---------->d ebp-9c

В дамп то вы перейдете, но для начала неплохо бы указать в каком виде вы хотите видеть "блюда".
Итак, ваш заказ?;)
..........Меню:

..........Дамп в формате HEX, мелко шинкованный на байты:
......... :db<---------->db
..........<<пример>>
......... :db 00458634<---------->db 00458634

..........Дамп в формате HEX, натертый словами:
......... :dw<---------->dw
..........<<пример>>
..........Такой гурман, как вы, догадается;)

..........Дамп в формате HEX (какое-то однообразие...), рубленный брусочками двойных слов:
......... :dd<---------->dd
..........Самое вкусное (имхо) - db, хотя, конечно, на вкус и цвет... (ой, о чем это я?;)

______________________________________________________________________ ______________
калькулятор

:?выражение<---------->? выражение (отступ обязателен) или calc выражение или
не париться, а написать просто выражение.
<<пример>>
:?eax<---------->? eax или calc eax или просто eax

______________________________________________________________________ ______________
Найти в отладчике выражение (цифры, слова, введенный вами серийник;)

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

Дело в том, что специальной команды для такого дела не предусмотрено (а может, просто я
не нашел), а потому придется идти таким путем:
1) Нажмите Alt+M
2) Установите видеокурсор на верхнюю строку открывшегося окна (обязательно!)
3) Нажмите Ctrl+B, наберите, чего вам там надо, и нажмите Enter
4) Если чего нибудь найдется, но вам это не подойдет, то продолжить поиск можно командой Ctrl+L
______________________________________________________________________ ______________
====================================================================== ====

-----
программистом не рождаются - им умирают




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 24 января 2007 16:59
· Личное сообщение · #3

Gambit пишет:
бряк на функцию/адрес

bpx [имя функции/адрес]<----------> bpx [имя функции/адрес]
<<пример>>
bpx MessageBoxA<----------> bp MessageBoxA (ЗАГЛАВНОСТЬ/строчность букв важна!)


Опять 25 =)

-----
Всем привет, я вернулся





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 24 января 2007 23:08
· Личное сообщение · #4

Бррр... Ну прям заколдованная команда
Прям в этой табле и поправлю...
Спсибо.=)

-----
программистом не рождаются - им умирают




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 25 января 2007 05:06
· Личное сообщение · #5

Карта памяти процесса в OllyDbg
(Alt+M)

1. В левой колонке мы видим адрес первого байта данного блока памяти.

2. Далее размер блока.

3. Если блок принадлежит образу запускаемого модуля (exe или dll), то следующая колонка сообщает нам имя этого файла.

4. Опять же, если речь идёт об образе dll или exe, мы можем узнать имя секции размещённой в данном блоке из колонки - сами догадайтесь с каким именем.

5. Затем Olly выдаёт нам краткую информацию о содержимом блока.

6. Тип блока может иметь такие значения:
Priv – Блок занят данными неопределенного типа.
Map – Блок занят прямой или косвенной проекцией файла (Memory Mapped File).
Imag – Блок занят образом PE-модуля

Свободные адреса просто не отображаются


7. Колонка "Access" должна показывать текущее состояние доступа для страниц памяти данного блока.
Должна, только не всегда это делает. У меня в OllyDbg 1.10 и Shadow на WinXP SP2 эта колонка неправильно отображается.
А по задумке, возможны следующее варианты:
пустое место – блок недоступен
R – доступен только для чтения
RW – разрешено чтение/запись
R E – разрешен запуск кода и чтение
RWE – полный доступ (чтение, запись, запуск)
Guarded – блок для которого генерируется специальное исключение при записи (это не значит, что запись запрещена)
CopyOnWr – в случае записи, страница которую изменили будет отделена от файла


Пункт контекстного меню "set access" позволяет менять основные условия доступа, но поскольку колонка отображается некорректно, вы не увидите результат изменения атрибутов (или увидите не правильно). Однако само изменение происходит. А если по каким-то причинам отладчик не может изменить доступ, в строке состояния промелькнёт предупреждение об этом.

8. Колонка "Initial Access" должна показывать начальное состояние доступа для страниц памяти данного блока.
Опять это слово – "должна". =(
А по задумке, в этой колонке отображаются атрибуты чтения, записи, запуска R,W,E соответственно.
Если блок принадлежит образу PE-файла, то эти атрибуты должны были быть взяты из атрибутов секций файла.

9. В последней колонке "Mapped as" отображается путь к проецируемому файлу.


PS Интересно у кого нет выше указанных глюков?

-----
Всем привет, я вернулся





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 25 января 2007 14:06
· Личное сообщение · #6

Во, блин, накатал;) Я прям испугался... Ты не против, если я в сжатом виде добавлю это твое произведение в таблу?
Bitfry пишет:
PS Интересно у кого нет выше указанных глюков?

Проверил. Госприем одобрил: глюки есть - они не могут не есть;)

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 25 января 2007 23:28
· Личное сообщение · #7

Т.к. Перешли на новую страницу, задам здесь снова вопрос (мож на него наконец кто ответит;):
Demon666 пишет:
От себя добавлю CTRL+стрелка вверх или вниз
В OllyDbg – это смещение на один байт
Gambit пишет:
в айсе как такой фокус проворачивать?


-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 28 января 2007 14:06 · Поправил: Gambit
· Личное сообщение · #8

таблица обновлена 29.01.07.
____________________________________________________________________________________

SoftIce <---------->OllyDbg
______________________________________________________________________ ______________

Условные обозначения:

## - "такой кнопки нету"


==========================================================================
Функциональные клавиши:
====================================================================== ====

F1 <----------> ## // Хэлп
F2 <----------> ## // Вкл./выкл окно регистров
F3 <----------> ## // Изменяет текущий режим окна кода
F4 <----------> F5 // Восстанавливает экран
F5 <----------> ## // Возвращается в вашу программу
F6 <----------> ## // Переключает курсор между окном команд и окном кода
F7 <----------> F4 // Прогоняет программу до текущей позиции курсора
F8 <----------> F7 // Трассировка с заходом в циклы
F9 <----------> F2 // Поставить бряк там, где курсор
F10<---------->F8 // Трассировка без захода в циклы (call'ы):

CTRL стрелка вправо <----------> CTRL стрелка вправо // на одну позицию вправо
CTRL стрелка влево.. <----------> CTRL стрелка влево.. // на одну позицию влево

==========================================================================
Команды (В ольке должен быть установлен плаг CommandBar)
====================================================================== ====
аналог айсовскому бряку на память

bpm<---------->hr (в ольке допускается только 4 бряка hardware)
<<пример>>
bpm esp-4 <---------->hr esp-4

______________________________________________________________________ ______________
бряк с условием

КСБ - расшифровывается как "КудыСтавитьБряк"

BPX КСБ if условие <---------->BP КСБ,условие
Расшифровывается как: Поставь бряк туда-то, если выполнилось равенство (неравенство) такое-то

<<пример>>
BPX MessageBoxA if ESP+123==400 <---------->BP MessageBoxA,ESP+123==400
BPX 00443377 if EAX<666 && EAX>135 <---------->BP 00443377,EAX<666 && EAX>135
BPX 33557722 if esp->c == 0x400 <---------->BP 33557722,ESP+C==400

______________________________________________________________________ ______________
бряк на функцию/адрес

bpx [имя функции/адрес]<----------> bp [имя функции/адрес]
<<пример>>
bpx MessageBoxA<----------> bp MessageBoxA (ЗАГЛАВНОСТЬ/строчность букв важна!)
bpx 00493354<---------->bp 00493354

______________________________________________________________________ ______________
сдампить

Переход по адресу в дамп
:d<---------->d
<<пример>>
:d ebp-9c<---------->d ebp-9c

В дамп то вы перейдете, но для начала неплохо бы указать в каком виде вы хотите видеть "блюда".
Итак, ваш заказ?;)
..........Меню:

..........Дамп в формате HEX, мелко шинкованный на байты:
......... :db<---------->db
..........<<пример>>
......... :db 00458634<---------->db 00458634

..........Дамп в формате HEX, натертый словами:
......... :dw<---------->dw
..........<<пример>>
..........Такой гурман, как вы, догадается;)

..........Дамп в формате HEX (какое-то однообразие...), рубленный брусочками двойных слов:
......... :dd<---------->dd
..........Самое вкусное (имхо) - db, хотя, конечно, на вкус и цвет... (ой, о чем это я?;)

______________________________________________________________________ ______________
калькулятор

:?выражение<---------->? выражение (отступ обязателен) или calc выражение или
не париться, а написать просто выражение.
<<пример>>
:?eax<---------->? eax или calc eax или просто eax

______________________________________________________________________ ______________
Найти в отладчике выражение (цифры, слова, введенный вами серийник;)

s d lffffffff "<введённое вами выражение>"(обязательно в кавычках) <----------> А здесь не все так просто...

Дело в том, что специальной команды для такого дела не предусмотрено (а может, просто я
не нашел), а потому придется идти таким путем:
1) Нажмите Alt+M
2) Установите видеокурсор на верхнюю строку открывшегося окна (обязательно!)
3) Нажмите Ctrl+B, наберите, чего вам там надо, и нажмите Enter
4) Если чего нибудь найдется, но вам это не подойдет, то продолжить поиск можно командой Ctrl+L

==========================================================================
Всякие полезности =)
====================================================================== ====
Карта памяти процесса в OllyDbg (ALT+M)

1. В левой колонке мы видим адрес первого байта данного блока памяти.

2. Вторая колонка – размер блока.

3. Третья колонка сообщает нам имя файла, если данный блок принадлежит образу запускаемого модуля (exe или

dll)

4. В колонке нумбер пять мы можем узнать имя секции размещённой в данном блоке из колонки (опять же, если

речь идёт об образе dll или exe)

5. В пятой колонке дается краткая информация о содержимом блока.

6. В следующей колонке – тип блока, который может иметь такие значения:
Priv – Блок занят данными неопределенного типа.
Map – Блок занят прямой или косвенной проекцией файла (Memory Mapped File).
Imag – Блок занят образом PE-модуля
Свободные адреса просто не отображаются

7. Колонка "Access" должна*** показывать текущее состояние доступа для страниц памяти данного блока.

8. Колонка "Initial Access" должна*** показывать начальное состояние доступа для страниц памяти данного

блока.

9. В последней колонке "Mapped as" отображается путь к проецируемому файлу.


***Глюки (см. 2-ю страницу форума - пост четвертый)
______________________________________________________________________ ______________
ЗЫ: Также действует

топик для отзывов

-----
программистом не рождаются - им умирают




Ранг: 4.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 30 января 2007 12:56
· Личное сообщение · #9

Вопрос такой:насколько справедливы статьи по распаковке в Сайсе для Ольки?



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 30 января 2007 17:57
· Личное сообщение · #10

Negor пишет:
Вопрос такой:насколько справедливы статьи по распаковке в Сайсе для Ольки?

Так вся таблица для этого и создаётся.

-----
Всем привет, я вернулся





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 31 января 2007 13:28
· Личное сообщение · #11

Ладно, добавлю я в таблицу распаковку.

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 04 февраля 2007 14:02 · Поправил: Gambit
· Личное сообщение · #12

таблица обновлена 05.02.2007 в 0:03. –
Я тут подумал... А зачем в таблице перед сайсовскими командами ставить двоеточие Ведь его
впечатывать не надо. Хотя... если кому-то удобней воспринимать таблицу с двоеточиями – отзовитесь
(лучше в личку) – верну как было.


====================================================================== ===============
Функциональные клавиши:
.....SoftIce <---------->OllyDbg.....
====================================================================== ===============
Условные обозначения:
## – "такой кнопки нету"
______________________________________________________________________ ____________________________

F1 <----------> ## // Хэлп
F2 <----------> ## // Вкл./выкл окно регистров
F3 <----------> ## // Изменяет текущий режим окна кода
F4 <----------> F5 // Восстанавливает экран
F5 <----------> ## // Возвращается в вашу программу
F6 <----------> ## // Переключает курсор между окном команд и окном кода
F7 <----------> F4 // Прогоняет программу до текущей позиции курсора
F8 <----------> F7 // Трассировка с заходом в циклы
F9 <----------> F2 // Поставить бряк там, где курсор
F10<---------->F8 // Трассировка без захода в циклы (call'ы):

CTRL стрелка вправо <----------> CTRL стрелка вправо // на одну позицию вправо
CTRL стрелка влево.. <----------> CTRL стрелка влево.. // на одну позицию влево

=====================================================================================
Команды (В ольке должен быть установлен плаг CommandBar)
.................................SoftIce <---------->OllyDbg.................................
Примеч. Квадратные скобки впечатывать не нужно – они для наглядности.
=====================================================================================
Править код

a [адрес строки]<----------> a [адрес строки]
<<пример>>
bpm esp-4 <---------->hr esp-4

______________________________________________________________________ ____________________________
аналог айсовскому бряку на память

bpm<---------->hr (в ольке допускается только 4 бряка hardware)
<<пример>>
bpm esp-4 <---------->hr esp-4

______________________________________________________________________ ____________________________
бряк с условием

КСБ – расшифровывается как "КудыСтавитьБряк"

BPX КСБ if условие <---------->BP КСБ,условие
Расшифровывается как: Поставь бряк туда-то, если выполнилось равенство (неравенство) такое-то

<<пример>>
BPX MessageBoxA if ESP+123==400 <---------->BP MessageBoxA,ESP+123==400
BPX 00443377 if EAX<666 && EAX>135 <---------->BP 00443377,EAX<666 && EAX>135
BPX 33557722 if esp->c == 0x400 <---------->BP 33557722,ESP+C==400

______________________________________________________________________ ____________________________
бряк на функцию/адрес

bpx [имя функции/адрес]<----------> bp [имя функции/адрес]
<<пример>>
bpx MessageBoxA<----------> bp MessageBoxA (ЗАГЛАВНОСТЬ/строчность букв важна!)
bpx 00493354<---------->bp 00493354

______________________________________________________________________ ____________________________
Удалить все бряки

bc * <----------> нет и не надо (это можно сделать: Alt+B и Debug > Hardware Breakpoints)
__________________________________________________________________________________________________
сдампить

Переход по адресу в дамп
d<---------->d
<<пример>>
d ebp-9c<---------->d ebp-9c

В дамп то вы перейдете, но для начала неплохо бы указать в каком виде вы хотите видеть "блюда".
Итак, ваш заказ?;)
..........Меню:

..........Дамп в формате HEX, мелко шинкованный на байты:
......... db<---------->db
..........<<пример>>
......... db 00458634<---------->db 00458634

..........Дамп в формате HEX, натертый словами:
......... dw<---------->dw
..........<<пример>>
..........Такой гурман, как вы, догадается;)

..........Дамп в формате HEX, рубленный брусочками двойных слов:
......... dd<---------->dd
..........Самое вкусное (имхо) – db, хотя, конечно, на вкус и цвет... (ой, о чем это я?;)
______________________________________________________________________ ____________________________
калькулятор
(отступ между командой и выражением обязателен)

? выражение<---------->? выражение или calc выражение или, если просто выражение
<<пример>>
? eax<---------->? eax или calc eax или просто eax

______________________________________________________________________ ____________________________
Найти в отладчике выражение (цифры, слова, введенный вами серийник;)

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

Дело в том, что специальной команды для такого дела не предусмотрено (а может, просто я
не нашел), а потому придется идти таким путем:
1) Нажмите Alt+M
2) Установите видеокурсор на верхнюю строку открывшегося окна (обязательно!)
3) Нажмите Ctrl+B, наберите чего вам там надо и нажмите Enter
4) Если что нибудь найдется, но вам это не подойдет, то продолжить поиск можно командой Ctrl+L
(Кстати в сайсе чтобы продолжить поиск надо ипользовать команду s без параметров)
______________________________________________________________________ ____________________________
Вызвать карту памяти

MAP32 <----------> нажать ALT+M
__________________________________________________________________________________________________
Вызвать таблицу потоков

THREAD <----------> меню: View -> Threads
__________________________________________________________________________________________________
Вызвать таблицу о хэнделов окон

HWND имя_проги <----------> меню: View -> Windows (если запустили прогу, а в Windows ничего не показывает,
то правый глаз мыши->actualize)
=====================================================================================
......... Таблицы .........
.SoftIce <---------->OllyDbg.
====================================================================== ===============
Примечание: Здесь A <----> B не есть A=B, а номер колонки с заголовком A = номеру колонки с заголовком B.
__________________________________________________________________________________________________
Карта памяти процесса

Колонки:

№ 1. Имя модуля................................................................ ..... <----------> Адрес первого байта данного блока памяти
№ 2. Имя секции размещённой в данном блоке из колонки <----------> Размер блока в байтах.
№ 3. Номер выполняемого файла......................................... <----------> Имя модуля
№ 4. Адрес первого байта данного блока памяти............... <----------> Имя секции размещённой в данном блоке
№ 5. Размер блока в байтах.................................................. <----------> Краткая информация о содержимом блока
№ 6. Тип блока................................................................. ... . <----------> Тип блока

Также в ольке есть еще три колонки:

№ 7. Должна*** показывать текущее состояние доступа для страниц памяти данного блока.
№ 8. Должна*** показывать начальное состояние доступа для страниц памяти данного блока.
№ 9. Отображается путь к проецируемому файлу.

*** Обнаружены баги (см.
2-ю страницу форума – пост
четвертый)
__________________________________________________________________________________________________
Таблица потоков

Колонки:

№ 1. Идентификационный номер............................................. <----------> Идентификационный номер
№ 2. Ядро блока переменных окружения потока ................... <----------> Точка входа (EP)
№ 3. Адрес основания стека потока......................................... <----------> Блок данных
№ 4. Адрес вершины стека потока........................................... <----------> Сообщение о последней ошибке
№ 5. Адрес указателя стека потока.......................................... <----------> Состояние процесса (актив/заверш)
№ 6. Пользовательский блок переменных окружения потока. <----------> Приоритет процесса
№ 7. Имя и идентификатор процесса-владельца потока(id)... <----------> Пользовательское время

Также в OllyDbg есть восьмая колонка:

№ 8. Системное время.

=====================================================================================
......... Распаковка .........
.SoftIce <---------->OllyDbg.
====================================================================== ===============
Кхм... Ну, если я начну сюда копировать все статьи по распаковке, которые есть на кряклабе, то это будет
свинством;) Поэтому, просто освещу вопрос "насколько справедливы статьи по распаковке в Сайсе для Ольки?").
1. В сайсе: всякие манипуляции, потом bpm esp-4*[i/] <----------> В Ольке: просто hr esp-4[i]*
2. Ставим бряк (чтоб вывалиться из проги в сайс), потом трейсим по коду <----------> Сразу трейсим по коду
3. Зациклить прогу, потом снять дамп <----------> Те же операции, но зацикливать не надо
4. Остальное есть в таблице (если нет – задавайте вопросы |=8~))

*Если не действует, стоит попробовать применить esp-24
______________________________________________________________________ ___________________________

ЗЫ: Также действует <a

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 04 февраля 2007 22:18
· Личное сообщение · #13

ТЕПЕРЬ ТАБЛИЦА ПЕРЕХОДИТ НА ДВА ПОСТА (БОЛЬШАЯ БОЛЬНО СТАЛА )... ЕСЛИ НАРОДУ НЕ ПОНРАВИТСЯ - БУДУ ДУМАТЬ
Кхм... иногда жалко, что нельзя устроить голосование...

-----
программистом не рождаются - им умирают





Ранг: 68.0 (постоянный), 6thx
Активность: 0.060
Статус: Участник

Создано: 05 февраля 2007 05:50
· Личное сообщение · #14

Gambit, в Олле есть полезное свойство "поверх остальных окон" (Alt+F5). Я думаю это стоит отразить.




Ранг: 68.0 (постоянный), 6thx
Активность: 0.060
Статус: Участник

Создано: 07 февраля 2007 07:30
· Личное сообщение · #15

Если, например, eax = 00123456, то:
"d 00123456" = "d eax" , при этом в окне дампа появится что-то типа 00214365
"d 00214365" = "d [eax]"
Т.е. квадратные скобки позволяют нам "углубиться" в память.
Можно использовать несколько скобок ("d [[[eax]]]")
И не только с регистрами ("d [00123456]" = "d 00214365")
З.Ы. Как это делается в САйсе - не знаю.



Ранг: 74.4 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 09 февраля 2007 18:26
· Личное сообщение · #16

Dr3d пишет:
Как это делается в САйсе - не знаю

вместо [] там *(*(eax)) и.т.д




Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 11 февраля 2007 15:19
· Личное сообщение · #17

таблица обновлена 12.02.2007 2:10

=====================================================================================
Функциональные клавиши:
.....SoftIce <---------->OllyDbg.....
====================================================================== ===============
Условные обозначения:
## – "такой кнопки нету"
______________________________________________________________________ ____________________________

F1 <----------> ## ......... // Хэлп
F2 <----------> ## ......... // Вкл./выкл окно регистров
F3 <----------> ## ......... // Изменяет текущий режим окна кода
F4 <----------> F5.......... // Восстанавливает экран
F5 <----------> ALT + F5 // Выход из САйса <----------> Ольку поверх остальных окон (вкл/выкл)
F6 <----------> ## ......... // Переключает курсор между окном команд и окном кода
F7 <----------> F4 ......... // Прогоняет программу до текущей позиции курсора
F8 <----------> F7 ......... // Трассировка с заходом в циклы
F9 <----------> F2 ..........// Поставить бряк там, где курсор
F10<---------->F8 ..........// Трассировка без захода в циклы (call'ы):

CTRL стрелка вправо <----------> CTRL стрелка вправо // на одну позицию вправо
CTRL стрелка влево.. <----------> CTRL стрелка влево.. // на одну позицию влево

=====================================================================================
Команды (В ольке должен быть установлен плаг CommandBar)
.................................SoftIce <---------->OllyDbg.................................
Примеч. Квадратные скобки впечатывать не нужно (если нет оговорок) – они для наглядности.
=====================================================================================
Править код

a [адрес строки]<----------> a [адрес строки]
<<пример>>
bpm esp-4 <---------->hr esp-4

______________________________________________________________________ ____________________________
аналог айсовскому бряку на память

bpm<---------->hr (в ольке допускается только 4 бряка hardware)
<<пример>>
bpm esp-4 <---------->hr esp-4

______________________________________________________________________ ____________________________
бряк с условием

BPX [адрес/функция] if [условие] <---------->BP [адрес/функция], [условие]
Расшифровывается как: Поставь бряк туда-то, если выполнилось равенство (неравенство) такое-то

<<пример>>
BPX MessageBoxA if ESP+123==400 <---------->BP MessageBoxA,ESP+123==400
BPX 00443377 if EAX<666 && EAX>135 <---------->BP 00443377,EAX<666 && EAX>135
BPX 33557722 if esp->c == 0x400 <---------->BP 33557722,ESP+C==400

______________________________________________________________________ ____________________________
бряк на функцию/адрес

bpx [имя функции/адрес]<----------> bp [имя функции/адрес]
<<пример>>
bpx MessageBoxA<----------> bp MessageBoxA (ЗАГЛАВНОСТЬ/строчность букв важна!)
bpx 00493354<---------->bp 00493354

______________________________________________________________________ ____________________________
Удалить все бряки

bc * <----------> нет и не надо (это можно сделать: Alt+B и Debug > Hardware Breakpoints)
__________________________________________________________________________________________________
сдампить

Переход по адресу в дамп
d<---------->d
<<пример>>
d ebp-9c<---------->d ebp-9c

В дамп то вы перейдете, но для начала неплохо бы указать в каком виде вы хотите видеть "блюда".
Итак, ваш заказ?;)
..........Меню:

..........Дамп в формате HEX, мелко шинкованный на байты:
......... db<---------->db
..........<<пример>>
......... db 00458634<---------->db 00458634

..........Дамп в формате HEX, натертый словами:
......... dw<---------->dw
..........<<пример>>
..........Такой гурман, как вы, догадается;)

..........Дамп в формате HEX, рубленный брусочками двойных слов:
......... dd<---------->dd
..........Самое вкусное (имхо) – db, хотя, конечно, на вкус и цвет... (ой, о чем это я?;)
______________________________________________________________________ ____________________________
"Глубокий дамп" (здесь квадратные скобки обязательны!)

d *(адрес/регистр)....<---------->d [адрес/регистр]
d *(*(адрес/регистр)) <----------> d [[адрес/регистр]]
и т.д.
<<пример>>
Если, например, eax = 00123456, то:
"d 00123456" = "d eax" , при этом в окне дампа появится что-то типа 00214365
"d 00654321" = "d [eax]"
Т.е. квадратные скобки позволяют нам "углубиться" в память.
Можно использовать несколько скобок ("d [[[eax]]]")
И не только с регистрами...
__________________________________________________________________________________________________
калькулятор
(отступ между командой и выражением обязателен)

? выражение<---------->? выражение или calc выражение или, если просто выражение
[c]<<пример>>
? eax<---------->? eax или calc eax или просто eax

______________________________________________________________________ ____________________________
Найти в отладчике выражение (цифры, слова, введенный вами серийник;)

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

Дело в том, что специальной команды для такого дела не предусмотрено (а может, просто я
не нашел), а потому придется идти таким путем:
1) Нажмите Alt+M
2) Установите видеокурсор на верхнюю строку открывшегося окна (обязательно!)
3) Нажмите Ctrl+B, наберите чего вам там надо и нажмите Enter
4) Если что нибудь найдется, но вам это не подойдет, то продолжить поиск можно командой Ctrl+L
(Кстати в сайсе чтобы продолжить поиск надо ипользовать команду s без параметров)
______________________________________________________________________ ____________________________
Вызвать карту памяти

MAP32 <----------> нажать ALT+M
__________________________________________________________________________________________________
Вызвать таблицу потоков

THREAD <----------> меню: View -> Threads
__________________________________________________________________________________________________
Вызвать таблицу хэнделов окон

HWND имя_проги <----------> меню: View -> Windows (если запустили прогу, а в Windows ничего не показывает,
то правый глаз мыши->actualize)

VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVV

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 11 февраля 2007 15:19
· Личное сообщение · #18

VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
=====================================================================================
......... Таблицы .........
.SoftIce <---------->OllyDbg.
====================================================================== ===============
Примечание: Здесь A <----> B не есть A=B, а номер колонки с заголовком A = номеру колонки с заголовком B.
__________________________________________________________________________________________________
Карта памяти процесса

Колонки:

№ 1. Имя модуля.............................................................. <----------> Адрес первого байта данного блока памяти
№ 2. Имя секции размещённой в данном блоке из колонки <----------> Размер блока в байтах.
№ 3. Номер выполняемого файла...................................... <----------> Имя модуля
№ 4. Адрес первого байта данного блока памяти............... <----------> Имя секции размещённой в данном блоке
№ 5. Размер блока в байтах.............................................. <----------> Краткая информация о содержимом блока
№ 6. Тип блока................................................................. . <----------> Тип блока

Также в ольке есть еще три колонки:

№ 7. Должна*** показывать текущее состояние доступа для страниц памяти данного блока.
№ 8. Должна*** показывать начальное состояние доступа для страниц памяти данного блока.
№ 9. Отображается путь к проецируемому файлу.

*** Обнаружены баги (см.
2-ю страницу форума – пост
четвертый)
__________________________________________________________________________________________________
Таблица потоков

Колонки:

№ 1. Идентификационный номер......................................... <----------> Идентификационный номер
№ 2. Ядро блока переменных окружения потока ................. <----------> Точка входа (EP)
№ 3. Адрес основания стека потока..................................... <----------> Блок данных
№ 4. Адрес вершины стека потока....................................... <----------> Сообщение о последней ошибке
№ 5. Адрес указателя стека потока...................................... <----------> Состояние процесса (актив/заверш)
№ 6. Пользовательский блок переменных окружения потока. <----------> Приоритет процесса
№ 7. Имя и идентификатор процесса-владельца потока(id).... <----------> Пользовательское время

Также в OllyDbg есть восьмая колонка:

№ 8. Системное время.

=====================================================================================
......... Распаковка .........
.SoftIce <---------->OllyDbg.
====================================================================== ===============
Кхм... Ну, если я начну сюда копировать все статьи по распаковке, которые есть на кряклабе, то это будет
свинством;) Поэтому, просто освещу вопрос "насколько справедливы статьи по распаковке в Сайсе для Ольки?").
1. В сайсе: всякие манипуляции, потом bpm esp-4* <----------> В Ольке: просто hr esp-4*
2. Ставим бряк (чтоб вывалиться из проги в сайс), потом трейсим по коду <----------> Сразу трейсим по коду
3. Зациклить прогу, потом снять дамп <----------> Те же операции, но зацикливать не надо
4. Остальное есть в таблице (если нет – задавайте вопросы |=8~))

*Если не действует, стоит попробовать применить esp-24
______________________________________________________________________ ___________________________

ЗЫ: Также действует

топик для отзывов

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 20 февраля 2007 12:50
· Личное сообщение · #19

Пополнение таблицы временно приостановлено... доигрался - мой доблесный компутер удалил все со второго жесткого диска, где было 99% полезной инфы
Отформатирую и первый хард, установлю по-новой Вынь

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 13 апреля 2007 19:01 · Поправил: Gambit
· Личное сообщение · #20

Вот и вроде немного и разгрузился. У компа форматнул оба харда - давно мечтал - вирус помог превратить мечту в реальность =\ Корректировка и пополнение таблицы продолжается. Пишите свои замечания и предложения, а я постараюсь их учесть=)
У//Удалено

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 13 апреля 2007 19:01 · Поправил: Gambit
· Личное сообщение · #21

Удалено

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 14 апреля 2007 23:19 · Поправил: Gambit
· Личное сообщение · #22

ТАБЛИЦА ПЕРЕЕХАЛА НА gambit.bos.ru =)

-----
программистом не рождаются - им умирают





Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 14 апреля 2007 23:59
· Личное сообщение · #23

МОДЕРАТОРАМ:
А эту тему, думаю, можно закрывать.
Или почистить и оставить для вопросов по ольке =)

-----
программистом не рождаются - им умирают



<< . 1 . 2 .
 eXeL@B —› Вопросы новичков —› Сравнение Olly и сайса (топик специально для таких вопросов) + таблица соответствий
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати