Посл.ответ |
Сообщение |
Ранг: 1.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 21 января 2008 18:34 · Личное сообщение · #1
Доброго времени суток всем!
Такой вопрос хотелось бы обсудить: есть IDA, есть некая программа  в ней есть некая функция F(x,...) которая хрен знает откуда вызывается (точнее я не нашел при каких условиях она вызывается), продираться по х-рефам вверх от нее нереально, их слишком много. Суть вопроса в следующем: как, скажем, в IDA построить дерево вызовов (х-рефов) от одной функции к другой (от A(x,...) до F(x,...))
| Сообщение посчитали полезным: |
|
Ранг: 10.9 (новичок) Активность: 0=0 Статус: Участник
|
Создано: 21 января 2008 20:04 · Личное сообщение · #2
скрипты в помощь...
| Сообщение посчитали полезным: |
 Ранг: 387.4 (мудрец) Активность: 0.17↘0 Статус: Участник системщик
|
Создано: 21 января 2008 23:38 · Личное сообщение · #3
gloomyraven, это проще отладчиком проверить - поставь breakpoint.
| Сообщение посчитали полезным: |
 Ранг: 605.2 (!), 341thx Активность: 0.47↘0.25 Статус: Модератор Research & Development
|
Создано: 22 января 2008 00:16 · Личное сообщение · #4
а стандартный граф чем не устраивает? я про тот, который строится в WinGraph32 и вызывается клавишами с F12.
На тулбаре кнопка с подписью "Display chart of xrefs to current identifier".
----- EnJoy! | Сообщение посчитали полезным: |
Ранг: 1.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 22 января 2008 09:21 · Личное сообщение · #5
nobodyzzz
Да, про скрипты я и говорю, но времени их писать нету. Может есть что-нть готовое.
В ИДЕ есть встроенные функции построения деревьев вызовов, строит в WinGraph32 - очень неудобно и к тому же строит полное дерево вызовов
s0larian
говорю же, в эту самую функцию просто так не попасть, только через серию условных переходов.
| Сообщение посчитали полезным: |
Ранг: 1.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 22 января 2008 09:22 · Личное сообщение · #6
Jupiter
да видел я его, но он полностью строит граф
Может можно сделать так, чтобы строил только нужную ветку дерева?
| Сообщение посчитали полезным: |
Ранг: 1.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 22 января 2008 11:19 · Личное сообщение · #7
Вощем понятно... Либо использовать корявые функции иды, либо самому делать. Только подскажите, что проще: ida sdk или скрипты idc?
| Сообщение посчитали полезным: |
Ранг: 10.9 (новичок) Активность: 0=0 Статус: Участник
|
Создано: 23 января 2008 14:23 · Личное сообщение · #8
попробуй IDAPython. посмотри https://www.openrce.org/articles/full_view/11 есть нечно похожее
| Сообщение посчитали полезным: |
Ранг: 4.2 (гость) Активность: 0=0 Статус: Участник
|
Создано: 22 марта 2008 23:26 · Личное сообщение · #9
gloomyraven, не такие уж там и корявые ф-ии. Выбор скриптов или плагинов зависит от знаний и поставленных целей, в виде плагина это сделать проще. имхо.
PS. идея хорошая, если Ильфак в новой версии такую фичу ещё не прикрутил -- можно заняться.
| Сообщение посчитали полезным: |
Ранг: 310.8 (мудрец), 29thx Активность: 0.43↘0 Статус: Участник
|
Создано: 23 марта 2008 11:33 · Личное сообщение · #10
gloomyravengloomyraven пишет:
да видел я его, но он полностью строит граф
Не знаю, какая у тебя версия. В 4.9 и 5.0 можно строить не только полный граф, но и подграфы вверх и вниз от процедуры. Но 1) она должна быть процедурой(есть соответствующая кнопа для принудительного создания) 2) курсор должен стоять на входе(или может внутри) процедуры - тогда активизируются опции частичных графов...
Короче почаще применяй "метод научного тыка"
| Сообщение посчитали полезным: |