Я изучал способы защиты моего кода от декомпиляции.
Здесь есть несколько хороших потоков, описывающих обфускацию и упаковку кода как возможные способы защиты кода. Однако ни один из них не идеален, обфускация не работает с отражением, когда используются строковый метод/имена свойств. Многие люди не рекомендуют использовать обфускацию вообще.
Поэтому я решил не идти ни с одним из вышеперечисленных. Тем не менее, У меня есть части кода, где мне нужно какое-то шифрование, например, строка подключения к базе данных с IP-адресом, логином и паролем хранится внутри кода как простой const string
, такой же, как данные учетной записи электронной почты.
В ASP.NET есть возможность переместить конфиденциальные данные в файл .config
и зашифровать его, но для этого требуется ключ сервера, т.е. связанный с одним компьютером. Я не много читал об этом, но я полагаю, что что-то подобное доступно для настольных приложений. Но мне нужно это для работы на любом компьютере, на котором установлено приложение.
И вот вопрос: существуют ли способы кодирования/защиты таких данных, чтобы их нельзя было читать вместе с декомпилированным кодом?