HexRays Decompiler от Ильфака, мечты сбываются?

Тема в разделе "WASM.RESEARCH", создана пользователем BLiTZ, 11 май 2007.

  1. FFx0

    FFx0 New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2007
    Сообщения:
    4
    Пару глупых вопросов:

    1. Как так получается?
    В самой IDA:
    Код (Text):
    1. ; ...::...::SuperPuper(int *)
    А в Hex-Rays:
    Код (Text):
    1. __int16 __cdecl ...__...__SuperPuper(int a1, int a2)
    2. Возможно ли Hex-Rays заставить указывать вызовы на вирутальные ф-ии? Ну т.е. я как выше сказано сделал xref, но ведь в самом Hex-Rays не указывается этот xref при вызове.
     
  2. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    это не ссылка а комментарий, это фигня - для человека. Да и переименовав TStringList@Add комментарий не изменится
     
  3. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    infern0
    Ну почему же, кликая на этот комментарий, переходишь на нужный метод. Или ты имеешь в виду, что информация в виде XREF используется декомпилятором (я в него еще не "игрался")?
     
  4. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    до тех пор, пока не переименуешь этот метод. А нормальный xref останется в таком случае.
     
  5. Daiver

    Daiver New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2005
    Сообщения:
    17
    Адрес:
    Россия
    Ида удаляет перекрестную ссылку, если функция вызывается косвенно....
    после того как нажать Reanalyze program.

    Для простоты объяснения:
    назовем ссылку из места вызова на вызываемое место - прямой.
    А ссылку из вызываемого места на место вызова - обратной.

    Прямые ссылки показывают куда передается управление,
    что очень актуально при косвенном вызове.

    Обратные показывают откуда может вызываться данная функция,
    что очень полезно когда надо узнать собсвенно откуда вызвается
    данная функция.

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

    И после запуска Reanalyze program, остается прямя, и удаляется обратная.
    Что по-моему не верно.

    Маленькое уточнениен Up и Down рядом с перекрестной ссылкой,
    означает лишь относительное смещение вызываемой и вызывающей
    точек, т.е. если вызов идет на больший линейный адрес, то Down,
    если на меньший то UP. Для обратной ссылки тоже самое,
    если вызывается из меньшего Up, если из больего Down.
    И не имеет отношения прямя ссылка или обратная.
     
  6. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    HexRays а как запустить его
     
  7. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Взять IDA 5.2 или 5.1
    Дизассемблировать нужный файл
    Нажать F5 для декомпиляции функции в которой сейчас курсор или Ctrl+F5 для декомпиляции всего файла.
     
  8. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    чтото не получается вызывает ошибку почему, я имел виду бинарник превратить в си.
    Может поможете вот программа перевести в си тоесть в ида
     
  9. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    а больше ничего не надо?
    Может еще хочется чтобы комментарии в коде восстановились?
     
  10. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    703
    ага и дефайны то же паднять неплохо бы =)
     
  11. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    чтото я не понял я просто попросил в ида попробовать если увас получится потомучто уменя вызывает ошибку а не всю программу руками перевадить
     
  12. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Esbolov
    Я уже пробовал. Если ты про main proram.exe - она 16-битная, а hexrays берет только 32-бита.
     
  13. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    блогодарен я тоже так подумал
     
  14. DmitriyJJJ

    DmitriyJJJ New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2010
    Сообщения:
    18
  15. DmitriyJJJ

    DmitriyJJJ New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2010
    Сообщения:
    18
  16. DmitriyJJJ

    DmitriyJJJ New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2010
    Сообщения:
    18