Как в IDA присоеденить имеющийся образ dll, созданный в той же IDA

Тема в разделе "WASM.SOFTWARE", создана пользователем prustr, 13 май 2007.

  1. prustr

    prustr New Member

    Публикаций:
    0
    Регистрация:
    13 май 2007
    Сообщения:
    4
    Некая процедура выполняется в DLLке. Вызывается эта процедура из основной программы или же из другой DLL.
    Я загрузил исследуемую dll в IDA, приаттачился к процессу, сделал некоторые комментарии, изменил названия функций... но надо теперь исследовать код из которого вызывается функция.
    Сегмент из которого идет вызов отмечен как debug021 или как-то так. То есть нет информации, какому программному объекту он принадлежит.
    Загружаю в IDA основную программу, но теперь нет возможности использовать созданные комментарии и т.п. в уже исследованной dll. Как можно указать IDA, что нужная dll уже проходила обработку и присоеденить ее со всеми комментариями?
     
  2. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    prustr
    Попробуй сдампить базу этой длл в idc (File->Produce File->Dump database to IDC file).
    А потом выполнить этот idc над базой основной программы. Придется только этот idc немного подрихтовать, чтобы исключить совпадение имен сегментов и т.д.
     
  3. brat315

    brat315 New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    21
    Адрес:
    Russia
    А не как, коментарии в IDA-нужны только для самого тебя, также в компиляторе комментарии нужны только для программиста, при компиляции комментарии в машинный код не добавляются, но в IDA при выходе из программы появляется окно в котором при нажатии кнопки OK появляется файл данных, в том же каталоге что и файл программы, вот в этом файле и могут сохранятся твои комментарии расширение файла *.idb при запуске IDA можешь загрузить этот файл в программу.
    Что косается ошибки debug021 это не сегмент а ошибка компилятора, для каждого компилятора есть свои коды ошибок описание которых можно найти в литературе.Твоя ошибка скорей всего возникает в *.exe файле при неправильном вызове .dll,но может и в *.dll, просто код может неправильно код оформлен, точно сказать немогу так как незнаю каким компилятором ты пользуешся так как для разных компиляторов свои коды ошибок.
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    может просто написать скрипт, который будет добавлять комментарии после загрузки dll ?
     
  5. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Several files in one IDB
    1, 2, 3, 4
     
  6. prustr

    prustr New Member

    Публикаций:
    0
    Регистрация:
    13 май 2007
    Сообщения:
    4
    Ок. Спасибо. Не силен в написании скриптов пока. Нужно умных книжек почитать сначала. Вообщем коментарии можно и по новой написать :)
     
  7. prustr

    prustr New Member

    Публикаций:
    0
    Регистрация:
    13 май 2007
    Сообщения:
    4
    Вот такой вопрос еще, не могу разобраться, как включить запись трассировки.
    Делаю, меню debugger | tracing | tracing options
    устанавливаю размер буфера 0, задаю имя файла, условие остановки оставляю пустым.
    Запускаю отладку. останавливаю отладку. В итоге в окне трассировки пусто, файл, указанный для записи трассировки не создан.
    Почему? Что не так?
     
  8. prustr

    prustr New Member

    Публикаций:
    0
    Регистрация:
    13 май 2007
    Сообщения:
    4
    Разобрался, надо ставит точку останова, включать трасировку функций или инструкций, запускать, тогда все в порядке