Посл.ответ |
Сообщение |
Ранг: 1.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 10 марта 2008 19:26 · Личное сообщение · #1
Всех приветствую!
У меня проблемы с пользованием IDA Pro. Скачал с крэклаба и установил. Но как там модифицировать экзешники? В справке сказано:
Edit|Patch core submenu
You can modify the image of the input file:
- change a byte
- change a word
- enter an assembler instruction (only for IBM PC)
Но там нет такого подменю! Я всё обыскал. То ли справку написали неправильно, то ли я что-то не догоняю. Подскажите.
| Сообщение посчитали полезным: |
|
 Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25 Статус: Модератор retired
|
Создано: 10 марта 2008 21:07 · Личное сообщение · #2
Ищи по форуму, по дефолту патч подменю скрыто, патчить надо ida.cfg, дописать туда чо-то типа patch=yes, не помню, юзай поиск.
| Сообщение посчитали полезным: |
Ранг: 1.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 10 марта 2008 21:44 · Поправил: Milfhunter · Личное сообщение · #3
Нужно в файле idagui.cfg изменить DISPLAY_PATCH_SUBMENU = NO на YES.
Спасибо за помощь. Авторы этой программы - люди весьма странные, даже, я бы сказал, неадекватные.
| Сообщение посчитали полезным: |
Ранг: 1.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 19 марта 2008 00:55 · Поправил: Milfhunter · Личное сообщение · #4
У меня еще вопрос маленький. Когда трассировку делаю, дохожу до вызова одной функции, но не знаю как узнать откуда произошел переход на этот вызов. Как узнать? И еще, если я знаю адрес данных, то как определить, откуда к ним обращаются?
| Сообщение посчитали полезным: |
 Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25 Статус: Модератор retired
|
Создано: 19 марта 2008 10:03 · Личное сообщение · #5
На данные можно искать Cross-Reference через Ctrl+X, что ли. Насчёт вызова-хз, в иде дебажил мало, а в ольке можно юзать call stack, ибо ида всё же не дебаггер.
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 30 марта 2008 13:54 · Личное сообщение · #6
Откуда был вызов - в стеке лежит, как обычно. Показать регистры и глянуть область памяти, на которую esp указывает.
Второй способ узнать - пройти функцию до конца и посмотреть, куда вернется  Сработает не всегда, но тем не менее. Особенно если лениво по стеку лазить
| Сообщение посчитали полезным: |
Ранг: 1.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 06 апреля 2008 23:44 · Личное сообщение · #7
А если там прыжок на вызов, но я не знаю откуда?
То есть типа вот этого:
JMP xxxxxxxx
CALL xxxxxxxx
JMP xxxxxxxx
CALL xxxxxxxx <- сюда попадаю по брейкпоинту, у фиг знает, откуда был прыжок и где заносятся параметры.
JMP xxxxxxxx
| Сообщение посчитали полезным: |
Ранг: 1.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 06 апреля 2008 23:46 · Личное сообщение · #8
Ой, сорри)))) торможу, все понял теперь.
| Сообщение посчитали полезным: |