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

Discussion in 'WASM.RESEARCH' started by Vam, Jul 16, 2008.

  1. ivanches

    ivanches New Member

    Blog Posts:
    0
    Joined:
    Feb 14, 2009
    Messages:
    25
    З.Ы.Ы. Понял только , что unmanaged на managed для С++ это мелкомягких придумка, причём придумка дурацкая касательно С++ :)
     
  2. Vam

    Vam New Member

    Blog Posts:
    0
    Joined:
    Jul 16, 2008
    Messages:
    149
    Вот поэтому (и не только) слово правильный взято в кавычки, понимайте так - правильный на сегодняшний день.
     
  3. punxer

    punxer Андрей

    Blog Posts:
    0
    Joined:
    Oct 16, 2006
    Messages:
    1,327
    Location:
    Ржев
    ivanches
    daleko ne durackaya
     
  4. ivanches

    ivanches New Member

    Blog Posts:
    0
    Joined:
    Feb 14, 2009
    Messages:
    25
    Вот , похожий проект кстати:
    http://groups.google.com/group/alt.lang.asm/browse_thread/thread/9f9fa577407bb79a
     
  5. crypto

    crypto Active Member

    Blog Posts:
    0
    Joined:
    Dec 13, 2005
    Messages:
    2,533
    ivanches
    Похоже, чтобы разобраться в выходном листинге, нужно написать еще один декомпилятор.
     
  6. Skipper95

    Skipper95 New Member

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

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

    crypto Active Member

    Blog Posts:
    0
    Joined:
    Dec 13, 2005
    Messages:
    2,533
    Хексрейс из ничего дебужную информацию тоже не выудит.
     
  8. Vam

    Vam New Member

    Blog Posts:
    0
    Joined:
    Jul 16, 2008
    Messages:
    149
    Запусти CppSourcer, он точно скажет есть дебаг инфа или нет, если есть, то она будет загружена, а далее..., достать для чего, что с ней делать?
     
  9. CyberManiac

    CyberManiac New Member

    Blog Posts:
    0
    Joined:
    Sep 2, 2003
    Messages:
    2,473
    Location:
    Russia
    Skipper95
    Может, это оставило отметины гнусное зло под названием "ассерты"? Из них много не наковыряешь. А если и наковыряешь, то часто совсем не то, что хотелось бы.
     
  10. Skipper95

    Skipper95 New Member

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

    Skipper95 New Member

    Blog Posts:
    0
    Joined:
    Jan 5, 2010
    Messages:
    5
    хм...вполне возможно... а как определить они или нет??
     
  12. CyberManiac

    CyberManiac New Member

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

    crypto Active Member

    Blog Posts:
    0
    Joined:
    Dec 13, 2005
    Messages:
    2,533
    CyberManiac
    По имени файла и номеру строки к сожалению логики на восстановишь, хотя название файла может навести на кое-какие мысли, но это, опять же, зависит от того, что ты хочешь получить от изучения файла.
     
  14. Skipper95

    Skipper95 New Member

    Blog Posts:
    0
    Joined:
    Jan 5, 2010
    Messages:
    5
    код, куда ведут ссылки имеет примерно такую форму

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

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

    Skipper95 New Member

    Blog Posts:
    0
    Joined:
    Jan 5, 2010
    Messages:
    5
    а там где чисел не было название проекта было другое.... да и вообще не название вроде это
     
  16. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    явно же макросы __FILE__ и __LINE__, второй это и есть "непонятно число".
    Читать что это - в msdn'e.