2016-03-06 2 views
0

Предположим, у меня есть программа «привет мир», написанной в Ada:Как я могу получить исходный код из файлов Ada exe?

with Ada.Text_IO; -- Bibliothèque 

-- Déclaration de la procédure "Hello" 
procedure Hello is 
begin 
    -- Imprimer "Hello, world!" à l'écran 
    Ada.Text_IO.Put_Line("Hello, world!"); 
end Hello; 

Когда я завершить процесс компиляции я получаю исполняемые файлы, как я могу изменить это, чтобы получить обратно исходный код

+1

См. http://coding.derkeiler.com/Archive/C_CPP/comp.lang.c/2012-06/msg00383.html для некоторых общих комментариев о в частности, мне нравится комментарий: «Вы не можете раскручивать яйцо». Теоретически, можно декомпилировать EXE в код Ada, но он не будет выглядеть ничем как оригинал и не будет похож на любую Аду, которую написал бы настоящий человек. На практике поиск Google не включает никаких существующих декомпиляторов, которые генерируют Ada, хотя я вижу цитату из книги, в которой говорится, что декомпиляторы Ada существовали одновременно. – ajb

ответ

6

Вы? не может для любого скомпилированного языка программирования, о котором я знаю.

+0

Вы можете (в некоторой степени) сделать это с Java, скомпилированным в JVM и (я подозреваю) с Ada, скомпилированным в R1000. –

+0

Java не скомпилирован в машинный код, а в байтовый код с сохраненными именами функций и переменных. Это позволяет восстановить исходный код. Вы можете декомпилировать созданный Адой бинарный список сборок, но не исходный исходный код. –