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