Как защитить ссылку DLL, используя строгий ключ sn
Мне нужно установить приложение на клиентский компьютер, и я хочу защитить мою DLL от несанкционированного доступа, но мне это не удалось. Я выполнил описанные ниже шаги, пройди и предложи, если это возможно, ИЛИ где-то я делаю не так
- Создана простая библиотека классов.Net и подписана с
TestKey.pfx
и защитить паролем. Создайте приложение и развернитеSecureAssembly.dll
в GAC.
namespace SecureAssembly
{
public class Utility
{
public string GetDetails()
{
return "Welcome, Vishwanath!";
}
}
}
Создано другое тестовое консольное приложение, ссылка
SecureAssembly.dll
из GAC, созданный объект на классеUtility
и называется функциейGetDetails()
, напечатаноWelcome, Vishwanath!
на консоли успешно. Я также подписал это консольное приложение с тем же ключомTestKey.pfx
Учитывая, что это приложение (тестовое консольное приложение) развернуто на клиентском компьютере, поэтому, рассматривая себя в качестве клиента, я использовал инструмент для дислокации dll для ex: JetBrains dot Peek, видел код и параллельно создавал дублирующее приложение с тем же кодом, скопированным с диссемблера, как показано в шаге 1 и подделать возвращаемую строку, например: "Ваша DLL изменена". Снова подписал это новым ключом sn, собрал и заменил
SecureAssembly.dll
в GAC.Интересно, что я думал, что консольное приложение скажет, что это какая-то другая сборка, вместо этого оно отображало "Ваша DLL изменена". Мне интересно, где я сделал не так.