2015-09-04 5 views
0

Я случайно удалил исходную программу, теперь у меня есть только скомпилированный код gcc. Есть ли способ вернуть исходный код.Как декодировать исходный код c, который скомпилирован gcc

+0

Да, но не в том виде, в котором он был скомпилирован. –

+0

В зависимости от того, как вы его удалили, вы можете просто выполнить восстановление файла. – Zsw

+0

Был там человек, если бы это был не гигантский проект, будет намного быстрее переписать его, чтобы попытаться восстановить его. – asdf

ответ

0

Вы можете использовать disassembler, но вы никогда не сможете полностью восстановить исходный код программы.

Чтобы предотвратить это в будущем, я рекомендую использовать источник управления, например, Git или Subversion. Используя эти инструменты, вы всегда будете иметь резервные копии своего кода, если произойдет такая большая ошибка.

0

Если вы используете IDE на основе Eclipse, в его истории может быть сохранена версия вашего источника. Если это так, щелкните правой кнопкой мыши по проекту и выберите «Восстановить из локальной истории ...».

EDIT В противном случае попробуйте использовать grep -a -C 200 -F 'Unique string in text file' /dev/sda1 > OutputFile; замените 200 на количество строк, которые, по вашему мнению, находятся в файле, и/dev/sda1 с разделом.

Дополнительную информацию см. В разделе восстановления текстового файла по адресу https://wiki.archlinux.org/index.php/File_recovery.

Удачи вам!

+0

и если не используется ....? – CristiFati

+0

@CristiFati См. Мое редактирование. Кроме того, я знаю, что некоторые университеты делают ночные резервные копии своих файловых систем. – apandit

1

Восстановление источника C из двоичного элемента было описано как «превращение гамбургера обратно в коров». Вы не сможете восстановить исходный код. В лучшем случае вы вернете код, функционально эквивалентный исходному исходному коду, но он не будет содержать никаких ваших исходных имен переменных, комментариев, макросов и т. Д., Он может быть не структурирован одинаково (в зависимости от того, насколько он агрессивно был оптимизирован), и это может быть не очень понятно (опять же, в зависимости от того, как он был оптимизирован).

Надеюсь, оригинал все равно может быть восстановлен каким-то образом.

 Смежные вопросы

  • Нет связанных вопросов^_^