Как декомпилировать С++ dll?

Я занимаюсь исследованиями по обратному инжинирингу. Я могу декомпилировать файлы .net dll с помощью рефлектора. Но в рефлекторе мы не можем декомпилировать dll-файлы С++. Есть ли какой-либо другой декомпилятор для декомпиляции файлов c++ dll?


person Praveen Kumar    schedule 30.09.2013    source источник
comment
Проверьте этот другой ответ: stackoverflow.com/questions/1322194/   -  person Szymon    schedule 30.09.2013
comment
Вы можете перейти на сайт reverseengineering.stackexchange.com и осмотреть его, если хотите узнать больше.   -  person Scott Chamberlain    schedule 30.09.2013


Ответы (2)


Это не так просто. C++ транслируется (иногда) в очень оптимизированный машинный код.

На http://www.codeproject.com/Articles/4210/C-Reverse-Disassembly, содержащий дополнительную информацию.

Изменить: или действительно, проверьте ссылки, размещенные в комментариях другими людьми.

person Jensen    schedule 30.09.2013

В отличие от языков CLR, C++ не компилируется в CIL или любой другой байт-код. Кроме того, компиляторы C++ не хранят метаданные, поэтому восстановить исходный код (пользовательские типы, классы и т. д.) практически невозможно. Нативный код также может быть сильно оптимизирован. Однако вы можете попытаться воссоздать чистый код C с помощью HexRays для IDA Pro (хотя это не бесплатно).

person Roman Zavalov    schedule 30.09.2013