Декомпиляция С++

Тема в разделе "WASM.RESEARCH", создана пользователем CraYser, 25 авг 2007.

  1. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Да, это декомпилятор C. Но Ильфак грозится выпустить SDK, так что, думаю, можно будет дописать поддержку.
     
  2. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    reverser
    Кстати, не пробовал декомпилировать с помощью Hex-Rays декомпилятор Rec?
     
  3. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289
  4. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Ra_
    Процесс идет, несмотря на трудности со временем.
     
  5. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Обновление. http://www.hex-rays.com/compare.shtml
     
  6. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    reverser
    Молодца Ильфак.
    ЗЫ
    Надеюсь, эти экраны не твоих рук дело, а Hex-Rays? :) Некоторые вещи вызывают интерес - на мой взгляд без ручного привода здесь не обошлось, хотелось бы увидеть, как это на самом деле все происходит.
     
  7. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    В некоторых местах там возможно нужно указать вручную типы аргументов или переменных. Сам сишный код пользователем не редактируется, а генерируется декомпилятором с нуля (можно посмотреть на демонстрационном видео).
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    арифметику жестко сворачивает %)
     
  9. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    n0name
    С арифметикой как раз все понятно, как делается.
    Мне лично интересно, сможет ли разобраться HR в коде при включенной оптимизации. Например, выделить те же intrinsic-functions, "разбавленные" посторонними инструкциями. Еще интересно, разберет ли он более сложные ветвления (в примере процедуры с case), к примеру,
    sub eax, 234
    jb @1
    ja @2
    ...
    @1: dec eax
    jnz @3
    ...
    @2: add eax, 11
    jnz @4

    и так далее. Такие конструкции даже руками тяжело разбирать.