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

 eXeL@B —› Вопросы новичков —› Вопрос по IDA
Посл.ответ Сообщение

Ранг: 1.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 июля 2010 12:18
· Личное сообщение · #1

Как в иде узнать адрес с которого была вызвана функция?
Пример:
Есть определённая функция, назовём её "X". В программе эту функцию X вызываю из большого количества разных мест. И вот, я ставлю бряк внутри тела функции X, он срабатывает, и как мне теперь узнать с какого конкретного адреса была вызвана эта функция X?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 28 июля 2010 12:27
· Личное сообщение · #2

Как и в любом другом отладчике-поглядеть в стек на адрес возврата.



Ранг: 1.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 июля 2010 12:39
· Личное сообщение · #3

Archer, спасибо



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

Создано: 07 января 2013 18:26 · Поправил: Siarogka1
· Личное сообщение · #4

не стал плодить тем, спрошу здесь. Заморочился я инлайн патчингом для x64 разрядного приложения, накрыто армой 9.02. И вот возникает вопрос, как с помощью IDA пропатчить файл? В меню у IDA есть пункт Patch code Assemble и все вроде бы работает. Но вот, например, я выбрал секцию .text1 дохожу до конца в хекс редакторе, там есть место куда можно вписать свой патч, но при установке курсора на адрес и попытке написать код в окно вывода пишется Command "Assemble" failed .
Что и как можно поправить, чтобы данная команда выполнялась?

перепробовал кучу отладчиков под x64, ни в одном нету нормального интерфейса по аналогии с олли.



Ранг: 22.4 (новичок), 19thx
Активность: 0.020
Статус: Участник

Создано: 07 января 2013 18:37
· Личное сообщение · #5

hiew



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

Создано: 08 января 2013 11:03
· Личное сообщение · #6

ну видимо, ничего больше не остается, кроме hiew



Ранг: 134.1 (ветеран), 246thx
Активность: 0.220.1
Статус: Участник
realist

Создано: 08 января 2013 11:54
· Личное сообщение · #7

BugDbg x64 попробуй, а пропатчить можно и в хекс редакторе. Ты арму сначало сними



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

Создано: 08 января 2013 12:13
· Личное сообщение · #8

я же написал, что хочу сделать инлайн патч, дамп в принципе с проги я снимаю, но тут вопрос с восстановлением импорта, просто в единственном мануале, который я смог найти, подробно не описано как он восстанавливается, ну или хотя бы, где, как в x86 варианте поставить ret, чтобы импорт не херился.

Отладчик IDA отлично справляется со своей задачей, а вот в простом хекс редакторе писать это как бы я сказал, не очень удобно.



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

Создано: 08 января 2013 14:15
· Личное сообщение · #9

может заодно подскажет кто, есть ли аналог команд PUSHAD и PUSHFD на x64 ?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 08 января 2013 15:03
· Личное сообщение · #10

Руками пушить все нужные регистры.
pushfq
Ман интела/амд поглядеть, не?
З.Ы. Пользуйся кнопкой "Правка", не создавай сообщения подряд.


 eXeL@B —› Вопросы новичков —› Вопрос по IDA
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати