Сейчас на форуме: tyns777, cppasm, dutyfree, asfa (+7 невидимых)

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

Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 13 августа 2016 16:38 · Поправил: cryptX
· Личное сообщение · #1

Здраствуйте уважаемые,

вопрос возник про ИДА -> есть база ИДА и бинарик, бинарик патчил через Олли -> теперь нужно чтоб база ИДА обовилась соотвественно (знаю что можно создать новый проект и тогда создается новая база, проблема в том что нужно не создать новую а именно обновить существующю так как там изменены имена функций, переменных и.т.д)

Если можно пошаговую инструкцию или есть такой plugin ?

Заранне спасибо!



Ранг: 222.2 (наставник), 115thx
Активность: 0.140.01
Статус: Участник

Создано: 13 августа 2016 17:10 · Поправил: HandMill
· Личное сообщение · #2

cryptX, этот функционал встроен в IDA Pro, пункт меню Edit --> Patch program --> Change bytes, если хотите автоматизации - сделайте тоже самое через IDC. И то и другое действие изменяют данные только в базе, никак не затрагивая Ваш бинарник.

-----
все багрепорты - в личные сообщения





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 13 августа 2016 21:52
· Личное сообщение · #3

Не совсем то, что нужно топикстартеру.

Нужно в старой базе все ваши пользовательские типы, имена, функции и прочие наработки сбросить в IDC файл (File->Produce output file->Dump database to IDC file... и File->Produce output file->Dump typeinfo to IDC file...). Затем создать новую базу с патченного файла и исполнить эти сгенерированные скрипты, все ваши труды имплементируются в новую базу.

ЗЫ: При экспериментах, старую базу лучше переименовать

-----
127.0.0.1, sweet 127.0.0.1


| Сообщение посчитали полезным: HandMill, cryptX


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 14 августа 2016 00:20
· Личное сообщение · #4

File->Load file->Realod the input file
но работает только на виндовых файловых форматах и мягко сказать странновато
так что забекапить базу и поиграться, а то вдруг не то что надо



Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 14 августа 2016 09:38 · Поправил: cryptX
· Личное сообщение · #5

Спасибо за ответы!

HandMill
Как уже сказал OKOB мне нужно обновить базу ИДА (оригинал -> пропатченный) сохраняя имена функций, переменных итд...

OKOB
Пробовал как ты сказал (сделал File->Produce output file->Dump database to IDC file... и File->Produce output file->Dump typeinfo to IDC file...), потом создал новую базу с патченного файла и загрузил IDC файлы через File->Script File...
теперь когда открываю некоторые процедуры (процедуры которые я не патчил!) через F5 - вылетает ошибка ->
"Decompilation failure:
504784: call analysis failed"

Не подскажете в чем проблема ? Или есть другие варианты ?

п.с: У меня версия IDA 6.8.150423

reversecode
Переименовал пропатченный файл на оригинальнное имя, потом сделал File->Load file->Reloаd the input file.

Результат -> база не обновилась (т.е патченные участки "не показивает"), показывает опять оригинальный вариант.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 14 августа 2016 11:37
· Личное сообщение · #6

cryptX пишет:
"Decompilation failure:
504784: call analysis failed"

установите в опциях ида , показывать указатель стека, скорее всего пополз он

cryptX пишет:
Переименовал пропатченный файл на оригинальнное имя, потом сделал File->Load file->Reloаd the input file.

Результат -> база не обновилась (т.е патченные участки "не показивает"), показывает опять оригинальный вариант.

а если после релоада закрыть ида и сохранить idb а потом опять открыть ?
вроде как этот пункт должен работать именно так как вам надо, но по итогу работает он странно и не всегда

| Сообщение посчитали полезным: cryptX

Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 16 августа 2016 13:32
· Личное сообщение · #7

reversecode
Сделал, база обновилось, но теперь декомпилятор криво работает, а когда открываю патченный вариант в новую базу -> работает нормально...наверно бага IDA...




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 16 августа 2016 15:11 · Поправил: reversecode
· Личное сообщение · #8

расшифруйте понятие - криво
возможно есть смысл сделать undef функции и потом опять создать ее
поскольку обновление некоторых мест хекс кода врядли ведет к полному реанализу
кстати там же в опциях есть и пункт реанализ, забекапте базу и попробуйте его, может переобновится и перестанет глючить



Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 16 августа 2016 15:30
· Личное сообщение · #9

reversecode
Реанализ помог. спс!


 eXeL@B —› Вопросы новичков —› IDA Pro как обновить базу
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати