2012-06-22 2 views
0

Можно ли декомпилировать C++ Builder exe?Можно ли декомпилировать C++ Builder exe? Является ли C++ Builder безопасным?

Является ли C++ Builder безопасными инструментами программирования, или любой может декомпилировать его и увидеть код?

+2

Если «код» означает сборку, то да. – mfontanini

+11

Автомобили можно разобрать. Безопасны ли автопроизводители? – tenfour

+2

Каждый исполняемый файл может быть декомпилирован с учетом необходимого количества усилий, но я нахожу его почти невозможным для возврата исходных кодовых комментариев из двоичных файлов C++ Builder ... –

ответ

9

Короткий ответ, да, его можно декомпилировать, и это не «безопасно». Все, что запускалось на компьютере, может быть разобрано и проверено, прочитав разборку. Декомпиляция будет означать восстановление даже некоторых из исходных скомпилированных исходный код - который действительно является возможно, в некоторой степени. В конце концов, это «просто» о написании программы, которая может перевести сборку на нужный язык. Если человек может это сделать, то программа тоже может это сделать, потому что речь идет только о применении известных правил и логики для перевода программы из другого представления/языка в другой. Тем не менее, это не просто так просто ...

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

Обратите внимание, что у этого есть ничего, чтобы сделать любую форму «безопасности» или безопасности самой программы. Любая программа может быть разобрана так или иначе, любая логика, стоящая за рабочей программой, может быть проверена и реконструирована. В программе не может быть секретов, ничто не может быть скрыто, если оно может быть запущено.

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

Суть в том, что вам не нужен декомпилятор инспектировать, декомпилировать и понять целевую программу. Все, что вам нужно - это доступ к исполняемому файлу, дизассемблер и понимание языка ассемблера. Невозможно избежать этого факта, и это очень редко является реальной проблемой.

+1

Это приложение .Net? Или как MFC или QT exe? –

+0

Это ни один из них. C++ Builder, вероятно, написан в Delphi, поэтому для его декомпиляции вам нужно будет найти инструмент, который может восстановить некоторые из конструкций исходного исходного кода из программы, написанной в Delphi. Такой инструмент, вероятно, не существует, хотя это не значит, что это было бы невозможно. – zxcdw

+0

IDE и фреймворки написаны в Delphi, но компилятор - нет. Как C++ Builder, так и Delphi скомпилируются для собственной сборки, хотя семантика этой сборки будет отличаться от того, где языки C/C++ и Delphi различаются. –

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