Может ли этот проект C++ быть декомпилирован с помощью таких инструментов, как.NET Reflector?

Я использую Microsoft Visual Studio 2012 и хочу написать приложение на родном C++. Причина, по которой я не хочу использовать Manged Code (.NET), потому что я не хочу, чтобы мое приложение было декомпилировано обратно в исходный код с помощью таких инструментов, как.NET Reflector, но было бы неплохо, если бы я все еще мог использовать Пользовательский интерфейс (CLR Windows Form) в моем приложении.

Но когда я добавляю пользовательский интерфейс (CLR Windows Form) в свой проект Win32, появляется следующее сообщение:

сообщение

Означает ли это, что теперь весь мой проект не будет скомпилирован как нативный код, и будет возможность декомпилировать все мое приложение с помощью таких инструментов, как.NET Reflector?

Или это будет "смешанный" (Native Code + Managed Code) проект, и не будет возможности декомпилировать целое приложение с помощью таких инструментов, как.NET Reflector, только в той его части, которая отвечает за пользовательский интерфейс?

PS Да, я знаю, что любое приложение может быть декомпилировано (!!!), но я именно спрашиваю об инструментах декомпиляции для приложений на основе.NET. С.NET Reflector вы можете "вернуть исходный исходный код" из приложений.NET. Поэтому мой вопрос: будет ли возможно "вернуть исходный исходный код" из этого приложения или это будет как-то "смешанный" код (manged + native) и не будет возможности декомпилировать его обратно в исходный Исходный код с таким инструментом, как.NET Reflector?

1 ответ

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

Если "декомпиляция" означает "получить изменяемый пользователем код, который семантически эквивалентен оригиналу и может быть скомпилирован обратно в исполняемую программу", это всегда возможно (даже путем непосредственного изменения самого машинного кода: есть люди, которые это понимают!). Насколько это понятно, для какой большой аудитории это все другая история.

Общий закон маркетинга гласит: "Единственное, что нельзя скопировать, это то, что никогда не продается!" Это вопрос, связанный с физической природой программного обеспечения. Там нет обходного пути от этого (кроме работы для другой вселенной)

Другие вопросы по тегам