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

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

  1. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    infern0
    спасибо, теперь все работает
    мда, ильфак жжот шо песец...
     
  2. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    ИМХО все больше склоняюсь к мнению, что IDA из удобного инструмента превращается в некоего "монстра" со всеми вытекающими отсюда последствиями.
     
  3. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    есть альтернативы? =)))
     
  4. infern0

    infern0 New Member

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

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    nobodyzzz
    Дык я же не предлагаю им не пользоваться, сам юзаю постоянно. Это, так сказать, крик души...
     
  6. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Не все наверное еще видели: http://idapro.ru/forum/viewtopic.php?p=1742
     
  7. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    censored
    Будем свои инструменты ваять, на ИДЕ свет клином не сошелся.
     
  8. nobodyzzz

    nobodyzzz New Member

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

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    infern0
    А ты зарегистрированный пользователь? Или это просто "одна бабка сказала"? То, что _реально_ надо _реальным_ пользователям, Ильфак добавляет довольно быстро, а ошибки исправляются при наличии базы, т.к. иначе повторить баг обычно затруднительно.
     
  10. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    был, уже нет
    считаю унизительным заплатить деньги и потом на каждый чих _доказывать_ что ты это сделал.
     
  11. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    может кто заставлял HexRays не падать на вызовах виртуальных функций(т.е на иструкция вида call dword ptr [eax + n])?]
    UPD:
    не смотря на все гнусные подозрение фтыкание в мануал помогло =))) надо скорректировать указатель стека...
     
  12. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    намного интереснее было бы знать как заставить его корректно отображать параметры для функций типа printf(fmt, ...), а то проглатывает..
     
  13. Daiver

    Daiver New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2005
    Сообщения:
    17
    Адрес:
    Россия
    Довольно редко ругается, даже когда вообще ничего не указано.
    Сложности начинаются когда есть непонятки с переменными которые в стек пихаются.
    Но тогда добавление перекрестной ссылки ввер и вниз и указание прототипа вызываемой функции решает проблему.
    А так довольно безпроблемно, учитывая что сейчас ковыряю код весь на классах,
    с классами исключений, несколько раз натыкался на итераторы, которые в шаблонах,
    в одном месте rtti.
     
  14. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    Daiver
    кстати - а как добавить xref на вызов вида call dword ptr [eax + n] ?
     
  15. Daiver

    Daiver New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2005
    Сообщения:
    17
    Адрес:
    Россия
    infern0
    обчно делаю так:

    курсор на инструкцию call dword ptr [eax+0Ch]
    жму пробел, чтобы переключится в текстовый режим
    копирую в буфер адрес этой инструкции .text:1002AC48
    перехожу к месту в которое идет вызов
    жму кнопку: Open cross references window
    жму insert
    вставляю адрес из буфера в поле From (поле To уже заполено текущим адресом)
    создается Down ссылка, т.е. вызываемая функция теперь знает откуда она вызвается

    дальше жму опять пробел
    опять копирую текущий адрес, уже вызываемой функции
    жму esc, чтобы вернуться назад
    возвращаюсь обратно на инструкцию call
    жму опять кнопку Open cross references window
    ввожу адрес (опять в поле from!)
    и создается Up ссылка
    теперь вызываемая функция знает что она вызывает

    теперь рядом с командой call красуется перекрестная ссылка
    которая изменитс если переименовать функцию что очень удобно

    .text:1002AC48 loc_1002AC48: ; CODE XREF: dIPPreviewManager_0Cp
    .text:1002AC48 call dword ptr [eax+0Ch]
    .text:1002AC4B cmp dword ptr [edi+X3FSessionSub.errorStruct.errorStatus0.b0], 1
    .text:1002AC4F jnz short loc_1002AC54
    .text:1002AC51 mov [esi+IPManager2.busyFlag0], edi

    только в опциях надо поставить количество отображаемых перекрестных ссылок не 0
    а что-нибудь побольше.
     
  16. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
    Че-то не пойму, эта штука не работает с ARM, или я че-то не так делаю?
     
  17. Daiver

    Daiver New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2005
    Сообщения:
    17
    Адрес:
    Россия
    Currently the decompiler can handle compiler generated 32-bit x86 code.
    http://hex-rays.com/manual/limit.shtml
     
  18. uni

    uni New Member

    Публикаций:
    0
    Регистрация:
    23 май 2005
    Сообщения:
    67
    http://www.idapro.ru/buy/
    Это что? Цена плагина - 51 тыс руб на 1 чела что ли? Круто. Интересно, а кто потенциальный круг потребителей этого плагина? Целевая, так сказать, "аудитория". Больше похоже на рекламу IDA как очень (и без того) крутой софтины. Поработал чуть с "лучами" - очень понравилось. Посмотрел на цены - приуныл. Буду вечным нелегалом, подсматривая в дырочку забора на "Главный форум".

    Даже с Дельфёвым кодом более менее что-то понятно :) стало. Глаз только надо натренировать (как в Матрице).
    Daiver'у спасибо за подсказку.
     
  19. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    uni
    А мне непонятно, почему из таблицы цен:

    Следует:

    Я бы сказал, что в таблице стоимость нужно смотреть в строке 2-5. Хитрый механизм ценообразования.
     
  20. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Daiver
    Что-то сложновато выглядит. Я лично в строке с вызовом виртуального метода жму ; и ввожу имя функции, например, TStringList@Add. Естественно, что в таблице виртуальных методов соответствующий метод должен быть поименован. Вот и все.