Цитата(StaticZ @ 8.7.2016, 16:49)
Нет я имел ввиду Common Language Infrastructure, так же известный как С++/CLI - смесь неуправляемого и управляемого кода. Все известные мне декомпиляторы управляемого кода даже не могут его отрыть, а дизассемблеры не выдают ничего существенного, лишь какие-то огрызки функций, преимущественно пришествующих точке входа - WinMain (она является точкой входа с точки зрения исходников, но по факту компиляторы вставляют кучу своего кода до нее, к примеру для получения того же списка аргументов командной строки, что уже передается в WinMain).
Про С++/CLI впервые слышу, загуглил - интересная чтука, спасибо за инфу.
Только, по-моему, не верно говорить просто CLI, тут речь идёт об С++ заточеным под CLI. Сама CLI это ведь инфраструктура и кодом не является, поэтому я тебя и поправил.
Цитата(StaticZ @ 8.7.2016, 16:49)
Неуправляемый и небезопасный код немного разные вещи. Первое не является managment кодом и является чисто машинным кодом, второй хоть по стилю и возможностям близок к неуправляемому коду, все таки является управляемым кодом и транслируется не в машинный код а в тот же IL код, просто в более низкоуровневый с прямым доступом к памяти и без лишних проверок, за счет чего и получил название не безопасного кода.
Насчет неуправляемого кода... если ты имеешь в виду extern и DllImport, так это ж по сути вызовы внешних(возможно нативных) библиотек обычно. Либо я чего-то ещё не знаю? Но я не нашёл как на шарпе писать неуправляемый код. Если можешь, обьясни, пожалуйста или пример какой-нибудь покажи.
Вот, кстати, кусок из репы где нормально декомпилировались длл импорты и их вызов с неуправляемым кодом.Цитата(StaticZ @ 8.7.2016, 16:49)
Все можно сломать и декомпелировать, можно лишь сделать этот процесс сложнее и тут много способов, но обратная сторона медали что это вынуждает совершать больше телодвижений, к примеру повсеместно использовать динамическую линковку вместо статической для крупного проекта это потребует писания еще какого-то своего менеджера, чтобы не делать ее по 100 раз в разных местах кода.
Разумеется.
А ты не в курсе что будет, если в коде будут IL иньекции? Он будет нормально декомпилироваться?