2013-09-09 3 views
3

У меня есть одно приложение C#. когда он освобождается до pakage, я использую IntelliLock в зашифрованном виде. и использовать startssl цифровую подпись. (на самом деле я не знаю, как использовать его, можно ли использовать его для проверки DLL?)Как убедиться, что C# обеспечивает целостность? (DLL не изменена)

, но я по-прежнему беспокоюсь об этом: есть использование 1 или 2-й пользы проверки использования идентичность и очень мало. Я беспокоюсь, что это изменение и замена на одно имя. то приложение не будет проверять личность.

Итак, моя проблема в том, есть ли способ проверить, что dll не будет изменяться после IntelliLock и startssl digital singed step?

большое спасибо.

+0

Я не использовал его, но при условии, вы строите против сильно им версии этого заблокированная сборка, тогда я не вижу, как это можно сделать. http://www.eziriz.com/intellilock_online_help/index.html –

+0

@Preet Sangha Привет друг. спасибо вам повторить. Я попробую немедленно. – qakmak

ответ

0

Я считаю, что лучше всего попытаться загрузить байты из DLL и вычислить контрольную сумму. Контрольная сумма представляет собой совокупный расчет байтов в файле, основанный на таблице предварительно рассчитанных значений. контрольная сумма может быть рассчитана с использованием библиотеки или вашей собственной реализации. Я бы прочитал содержимое файла, а затем вычислил контрольную сумму.

Вам нужно будет проверить значение либо через Интернет, либо путем ссылки на значение, хранящееся локально. Один из способов может обойти это и изменить ваш файл, чтобы запустить ваше приложение, декомпилировать и узнать, как рассчитывается контрольная сумма, изменить DLL, а затем изменить контрольную сумму, сохраненную локально, чтобы соответствовать. Использование webAPI на сервере для проверки контрольной суммы может быть самым безопасным методом.

Некоторые используют MD5 в качестве контрольной суммы, как показано здесь: Calculate MD5 Checksum

И достаточно информации, чтобы вы начали здесь: Generating a checksum for a file

+0

Hi @ user2840050, спасибо. но это не очень полезно. потому что dll всегда меняются, я не могу получить его MD5 каждый раз при его создании. и если я использую другие инструменты Obfuscation, не могу использовать MD5-путь. – qakmak

+0

Если изменение DLL связано с сборкой, тогда было бы лучше настроить скрипт пост-сборки, чтобы вычислить контрольную сумму и обновить ее. Вы можете запустить подпись и шифрование, а затем вычислить контрольную сумму из последней DLL. – thepenguinmaster