декомпилятор принимает в качестве входных исполняемый файл, и пытается создать высокий уровень, компилируемый, возможно, даже в сопровождении исходного файла, что делает то же самое.
Поэтому противоположность компилятор, который принимает исходный файл и делает исполняемый файл. Тем не менее, общий декомпилятор не вскрывать каждое действие декомпилятор, а это превращает входной программы до тех пор, результат не исходный код высокого уровня. Это, следовательно, не будет воссоздать исходный файл; не, вероятно, ничего подобного.
Это не имеет значения, если исполняемый файл имеет символы или нет, был составлен из любого конкретного языка. (Тем не менее, декларативные языки как ML не рассматриваются.)
Цель заключается в создании пере направляемый декомпилятор (т.е. тот, который может декомпилировать файлы различных типов машинного кода с помощью скромных усилий, например, X86-окна, SPARC Solaris-и т.д.). Было также предназначены для модульным, так что различные части декомпилятора можно заменить экспериментальных модулей. Он был предназначен для в конечном итоге стать интерактивным, а-ля IDA Pro, потому что некоторые вещи (не только имена переменных и комментарии, хотя эти, очевидно, очень важно) требуют экспертной вмешательства. Будь принадлежит интерактивность в декомпилятор или в отдельный инструмент, остается неясным.
При преобразовании семантики отдельных инструкций, и, используя мощные методы, такие, как Static Single анализа потока данных Назначение, Бумеранг должно быть (в основном) зависит от точного поведения компилятора, что произошло, которые будут использоваться. Оптимизация не должна влиять на результаты. Следовательно, цель является общей декомпилятор.
Ограничения:
· В случае, если вы хотите, чтобы попытаться Бумеранг, как это в декомпилятор (в отличие от экспериментирования с ним, или его улучшения), быть в курсе его серьезных ограничений. По состоянию на начало 2004 года, Бумеранг будет только декомпилировать X86 (Linux / X86 или Windows PE), SPARC Solaris (или предположительно на базе Linux / SPARC), или Power PC программ (/ X Mac OS Linux / PPC или). В частности, обратите внимание, что это не будет декомпилировать программы DOS или NE (Windows 3.1). Добавление другой процессор является большой (несколько месяцев) обязательство.
· Это будет генерировать только C, а не C ++. Это будет декомпилировать C ++ программы, конечно, (и любые виды программ, в том числе ассемблера). Вы можете быть в состоянии передать редактировать некоторые программы C ++ в полезную C ++ кода. Для MSVC составленных программ, в настоящее время у вас есть, чтобы spoonfeed декомпилятор и сказать ему, что есть один параметр регистра (thiscall соглашение о вызовах). Коммутаторы справиться с этим сложны; см с помощью -sF переключатель.
Детали программы:
Версия: alpha 0.3
Дата загрузки: 3 Jun 15
Тип распространения: Бесплатная
Популярность: 182
Комментарии не найдены