Декомпилятор С++

Тема в разделе "WASM.RESEARCH", создана пользователем Vam, 16 июл 2008.

  1. ivanches

    ivanches New Member

    Публикаций:
    0
    Регистрация:
    14 фев 2009
    Сообщения:
    25
    З.Ы.Ы. Понял только , что unmanaged на managed для С++ это мелкомягких придумка, причём придумка дурацкая касательно С++ :)
     
  2. Vam

    Vam New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2008
    Сообщения:
    149
    Вот поэтому (и не только) слово правильный взято в кавычки, понимайте так - правильный на сегодняшний день.
     
  3. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    ivanches
    daleko ne durackaya
     
  4. ivanches

    ivanches New Member

    Публикаций:
    0
    Регистрация:
    14 фев 2009
    Сообщения:
    25
    Вот , похожий проект кстати:
    http://groups.google.com/group/alt.lang.asm/browse_thread/thread/9f9fa577407bb79a
     
  5. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    ivanches
    Похоже, чтобы разобраться в выходном листинге, нужно написать еще один декомпилятор.
     
  6. Skipper95

    Skipper95 New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2010
    Сообщения:
    5
    а как достать дебаг инфу из ехешника? я считаю что она есть в ехешнике одной игры (скомпилена в Visual C++ 6 вроде), потому как в иде в Strings есть строки с названиями исходных файлов (*.cpp)...

    P.S. если что сильно не ругайте, я в этом деле новичок :)
     
  7. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Хексрейс из ничего дебужную информацию тоже не выудит.
     
  8. Vam

    Vam New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2008
    Сообщения:
    149
    Запусти CppSourcer, он точно скажет есть дебаг инфа или нет, если есть, то она будет загружена, а далее..., достать для чего, что с ней делать?
     
  9. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Skipper95
    Может, это оставило отметины гнусное зло под названием "ассерты"? Из них много не наковыряешь. А если и наковыряешь, то часто совсем не то, что хотелось бы.
     
  10. Skipper95

    Skipper95 New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2010
    Сообщения:
    5
    цель то как раз в том и заключается чтобы достать ее и CppSourcer'у подсунуть, потому что он пишет что дебаг инфа не найдена
     
  11. Skipper95

    Skipper95 New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2010
    Сообщения:
    5
    хм...вполне возможно... а как определить они или нет??
     
  12. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Skipper95
    Посмотреть, откуда ведут ссылки на текстовые строки. assert() - макрос, что там вместо него появляется в откомпилированном коде, от многого зависит. Но внутрь этого макроса завёрнут вызов функции, которая собственно и выводит сообщение о строке и имени файла, где случился assert, в виде текстовой строки.
     
  13. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    CyberManiac
    По имени файла и номеру строки к сожалению логики на восстановишь, хотя название файла может навести на кое-какие мысли, но это, опять же, зависит от того, что ты хочешь получить от изучения файла.
     
  14. Skipper95

    Skipper95 New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2010
    Сообщения:
    5
    код, куда ведут ссылки имеет примерно такую форму

    Код (Text):
    1. push    offset названиепроекта_число ; "строка с именем и путем к исходнику(каждый раз разный)"
    число имеет какую то закономерность потому что шли подряд 90,91,86,92,93,94... (это если смотреть по порядку расположения строк), после число исчезло, дальше снова появилось в этот раз делая скачки 73,95,55,98,32,33

    если бы не это тогда можно было бы сказать, что это номер строки, а так хз.... тем более что оно исчезает
     
  15. Skipper95

    Skipper95 New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2010
    Сообщения:
    5
    а там где чисел не было название проекта было другое.... да и вообще не название вроде это
     
  16. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    явно же макросы __FILE__ и __LINE__, второй это и есть "непонятно число".
    Читать что это - в msdn'e.