ПрограммированиеФорумОбщее

Исходный код (2 стр)

Страницы: 1 2
#15
13:53, 21 апр 2010

dave
> Этот ваш "исходник" он вообще компилируется?
Декомпилированные листинги обратно скомпилировать обычно не получается (информацию о многих элементах восстановить не удается). Приходится вручную перерабатывать весь код (при этом желательно разбираться в предметной области) и, по возможности, находить и подключать внешние библиотеки, использованные при компиляции и линковке оригинала. На модули с размером .text (секция кода) > 1 Mb может уйти больше года (при наличии pdb).

Правда с волшебным декомпилятором C++, который юзал Pasha199, время РИ может сократиться в разы (при условии частичного или полного восстановления инфы о наследовании).

#16
14:10, 21 апр 2010

destrator

Я так и думал.
Давно пробовал IDA декомпилировать одну прогу. Он тогда еще в ассемблер выдавал код.

#17
13:22, 22 апр 2010

destrator
> Правда с волшебным декомпилятором C++
возьми hex-rays 1.1 и удивись, насколько он волшебнее чем 1.0

#18
13:39, 22 апр 2010

wad
> возьми hex-rays 1.1 и удивись, насколько он волшебнее чем 1.0
Так у меня вроде и есть 1.1 (точно сказать не могу, я не дома). Но производит листинг на C и не восстанавливает иерархию. В лучшем случае показывает смещение в vtable, а дальше все приходится делать ручками.

P.S. Могу ошибаться на счет версии.

#19
0:46, 23 апр 2010

ну конечно не восстанавливает, это же С. откуда там классы, наследование, иерархия и проч.

vtables наверно можно вытащить отдельно, написав свой плагин к иде.

#20
11:34, 23 апр 2010

wad
А в начале треда речь шла про C++. Поэтому я и хотел бы знать про "волшебный" C++ декомпилятор :)

> vtables наверно можно вытащить отдельно, написав свой плагин к иде.
Теоретически можно при наличии PDB, но слишком много инфы для анализа. К тому же я никогда не писал плагины для IDE и изучать некогда :) Для меня большинстве случаев проще восстановить вручную. Вот если бы ребята из hex-rays этим занялись, я был бы им очень признателен :)

Страницы: 1 2
ПрограммированиеФорумОбщее

Тема в архиве.