Как я могу вычислить контрольную сумму кода во время выполнения?
У меня есть приложение С#.NET, запущенное на машине. Как вычислить контрольную сумму всего кода во время выполнения?
Примечание:
Я не хочу вычислять контрольную сумму используемого изображения, но фактическую часть кода.
Ответ 1
Я никогда не использовал это, но:
Используя отражение, вы можете перейти к GetILAsByteArray и выполнить контрольную сумму (для каждого метода).
Но я думаю, что будет намного проще использовать подписание кода или Assembly.GetExecutingAssembly, а затем выполнить контрольную сумму на .dll или .exe.
Ответ 2
Я бы просто использовал подпись кода, но если вы действительно хотите свернуть свое собственное решение (это может быть плохая идея. это хорошая вещь), вы можете использовать рефлексию, чтобы посмотреть код IL и вычислить контрольную сумму на основе этого. Это не очень приятное решение и может вызвать некоторые странные ошибки, поэтому, пожалуйста, сэкономить на некоторых проблемах и использовать подписание кода.
Ответ 3
В режиме исполнения у вас нет доступа к исходному исходному коду.
Ответ 4
сильное имя на вашей сборке делает это, но вам нужно доверять, что он работает как рекламируемый.
Какова конкретная проблема, которую вы связываете?