2016-11-05 9 views
0

Как я могу быть уверенным, что моя ссылочная dll (которая была скомпилирована мной) не изменена кем-то еще после распространения в плохих целях?Как узнать, является ли ссылка на .net dll оригинальной?

И если это возможно, это способ принудительно не загружать измененные DLL.

Пример: У меня есть библиотека, которая упакована как .net dll. Кто-то может легко изменить его или создать dll с тем же именем, пространством имен, именем метода и т. Д., А также может выполнить его вредоносный код. Как мы можем предотвратить это?

+1

• Если кто-то есть полный доступ к системе и библиотекам DLL, то вы не можете сделать многое, чтобы предотвратить они от изменения сборки. В любом случае вы можете [подписать] (https://msdn.microsoft.com/en-us/library/xc31ft41 (v = vs.110) .aspx) dlls. Но имейте в виду, что тот, кто может что-то вводить, является dll, может отключить проверку подписи. • Если проблема связана с точной dll, которую вы используете, и вы хотите узнать, является ли она оригинальной или нет, вы можете сравнить ее контрольную сумму с контрольной суммой исходной dll. –

ответ

1

Вы можете подписать свои DLL.

См C#: why sign an assembly?

Затем в проекте проверить ключ

GetType().Assembly.GetName().GetPublicKey() 

 Смежные вопросы

  • Нет связанных вопросов^_^