IDA: как получить имя экспорта?

Тема в разделе "WASM.RESEARCH", создана пользователем GoldFinch, 12 ноя 2008.

  1. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Как в IDC скрипте получить имя экспорта?
    Я нашел там только задать новое имя %)
     
  2. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    Код (Text):
    1. string    Name            (long ea);
    2. string    NameEx          (long from, long ea);
    ?
     
  3. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    неа
    Код (Text):
    1. .text:10103B2A ; Exported entry 1908. ?StaticClass@UNameProperty@@SAPAVUClass@@XZ
    2. .text:10103B2A                 jmp     near ptr unk_1010B980
    тут Name не пашет
     
  4. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    GoldFinch
    Должен, сам недавно делал, все работало.
     
  5. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    что значит "должен"? там нет имени у адреса, Name(0x10103B2A) возвращает 0
     
  6. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Так вроде бы ида должна автоматически создавать имена для экспортируемых адресов, может стоит переанализировать?
     
  7. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    GoldFinch
    если религия позволяет использовать IDAPython(http://d-dome.net/idapython) то там все просто =)
    Код (Text):
    1. import idaapi
    2. print idaapi.get_entry_name(ordinal)
    btw, Ильфак добавил в IDC функцию решающую эту задачу в IDA 5.3 =)))
     
  8. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Придется учить питон.
    Что кстати в нем такого хорошего, что он так популярен?
     
  9. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    В 5.1 работает так:
    Код (Text):
    1. Message("%s",Name(0x401000));
    Именно 0?
     
  10. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Name(here) = 0. 0h 0o 0b '....'

    Name() там не работает, т.к. у адреса нет имени %)
     
  11. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    GoldFinch
    Если я не ошибаюсь, экспортируемые ф-ии являются точками входа (EntryPoint, окно со списком открывается по CTRL+E), соответственно, перебрать их можно ф-иями, работающими с EntryPoint. Часов через 9 смогу посмотреть более детально -- под рукой IDA будет :).
     
  12. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    в 5.2 нужной функции нет
     
  13. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    Ну как минимум ординал взять можно =))
     
  14. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    ординал мне *не нужен*
     
  15. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    GoldFinch
    может стоит взглянуть на это http://www.openrce.org/downloads/details/57/PE_Scripts - в этом наборе есть парсинг различных структур PE файла, в том числе и таблицы экспорта. Так что зная ординал можно вытянуть и имя фунцкции.
    Хотя проше наверно поставить IdaPython - скрипт из IDC достаточно легко переписывается в py=)
     
  16. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    nobodyzzz
    ну парсинг заголовка это уже слишком... тогда уж проще сразу генерить сторонней программой файл со строками и его юзать