Информация об изменениях

Сообщение Re: Защита от декомпиляции с помощью публикации от 21.06.2020 11:17

Изменено 21.06.2020 14:30 Serginio1

Re: Защита от декомпиляции с помощью публикации
Здравствуйте, tnikolai, Вы писали:


T>dotPeek легко декомпилирует c# сборку и восстанавливает исходный код практически 1 к 1


T>Но можно сделать в Visual studio публикацию в win-x64

T>Image: Rp4mSVr.png
T>Насколько это усложнит декомпиляцию? Или стоит лучше использовать обфускаторы?

https://docs.microsoft.com/ru-ru/dotnet/core/whats-new/dotnet-core-3-0#readytorun-images

Вы можете снизить время запуска приложения .NET Core, скомпилировав все сборки приложения в формат ReadyToRun (R2R). R2R является разновидностью компиляции AOT.
Бинарные файлы R2R повышают производительность при запуске, снижая объем работы, выполняемой на этом этапе компилятором JIT. Бинарные файлы содержат такой же машинный код, который создается компилятором JIT. Но бинарные файлы R2R имеют больший размер, так как содержат не только код на промежуточном языке (IL), который по-прежнему необходим для некоторых сценариев, но и версию того же кода на машинном языке. Функция R2R доступна только при публикации автономного приложения, предназначенного для конкретной среды выполнения (RID), например для Windows x64 или Linux x64.


R2R содержит Il код. Вопрос весь или только для рефлексии

[q]

IL-код сохраняется для некоторых сценариев и может также использоваться в качестве запасного варианта, когда собственный код не соответствует базовой платформе. Собственный код снижает нагрузку на RyuJIT во время запуска вашего приложения, что ускоряет его загрузку.
[/q]
Re: Защита от декомпиляции с помощью публикации
Здравствуйте, tnikolai, Вы писали:


T>dotPeek легко декомпилирует c# сборку и восстанавливает исходный код практически 1 к 1


T>Но можно сделать в Visual studio публикацию в win-x64

T>Image: Rp4mSVr.png
T>Насколько это усложнит декомпиляцию? Или стоит лучше использовать обфускаторы?

https://docs.microsoft.com/ru-ru/dotnet/core/whats-new/dotnet-core-3-0#readytorun-images

Вы можете снизить время запуска приложения .NET Core, скомпилировав все сборки приложения в формат ReadyToRun (R2R). R2R является разновидностью компиляции AOT.
Бинарные файлы R2R повышают производительность при запуске, снижая объем работы, выполняемой на этом этапе компилятором JIT. Бинарные файлы содержат такой же машинный код, который создается компилятором JIT. Но бинарные файлы R2R имеют больший размер, так как содержат не только код на промежуточном языке (IL), который по-прежнему необходим для некоторых сценариев, но и версию того же кода на машинном языке. Функция R2R доступна только при публикации автономного приложения, предназначенного для конкретной среды выполнения (RID), например для Windows x64 или Linux x64.


R2R содержит Il код. Вопрос весь или только для рефлексии

IL-код сохраняется для некоторых сценариев и может также использоваться в качестве запасного варианта, когда собственный код не соответствует базовой платформе. Собственный код снижает нагрузку на RyuJIT во время запуска вашего приложения, что ускоряет его загрузку.