Как я могу вычислить контрольную сумму кода во время выполнения? - PullRequest
2 голосов
/ 04 марта 2009

У меня на компьютере работает приложение C # .NET. Как рассчитать контрольную сумму всего кода во время выполнения?

Примечание:

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

Ответы [ 4 ]

2 голосов
/ 04 марта 2009

Я бы просто использовал подпись кода , но если вы действительно хотите развернуть свое собственное решение (что может быть плохой идеей. Подписывание кода - это хорошо), вы можете использовать отражение, чтобы заглянуть в IL код и рассчитать контрольную сумму на основе этого. Это не очень хорошее решение, и оно может вызвать некоторые странные ошибки, поэтому, пожалуйста, избавьте себя от проблем и используйте подпись кода.

2 голосов
/ 04 марта 2009

Я никогда не использовал это, но:

Используя отражение, вы можете перейти к GetILAsByteArray и выполнить контрольную сумму (для метода).

Но я думаю, что будет намного проще использовать подпись кода или Assembly.GetExecutingAssembly, а затем выполнить контрольную сумму для DLL или .exe.

1 голос
/ 04 марта 2009

Во время выполнения у вас нет доступа к оригинальному письменному исходному коду.

0 голосов
/ 05 марта 2009

строгое имя в вашей сборке делает это, но вы должны верить, что оно работает так, как рекламируется. Какую именно проблему вы пытаетесь решить?

...