2

我有一个在机器上运行的 C#.NET 应用程序。如何在运行时计算整个代码的校验和?

笔记:

我不想计算正在使用的图像的校验和,而是实际的代码部分。

4

4 回答 4

2

我只会使用代码签名,但如果您真的想推出自己的解决方案(这可能是个坏主意。代码签名是一件好事),您可以使用反射来查看 IL 代码并基于此计算校验和。这不是一个很好的解决方案,并且可能会导致一些奇怪的错误,所以请为自己省点麻烦并使用代码签名。

于 2009-03-04T14:29:53.313 回答
2

我从来没有用过这个,但是:

使用反射,您可以导航到GetILAsByteArray并执行校验和(每个方法)。

但我认为使用代码签名或 Assembly.GetExecutingAssembly 然后对 .dll 或 .exe 进行校验和会容易得多。

于 2009-03-04T14:33:13.103 回答
1

在运行时,您无权访问原始编写的源代码。

于 2009-03-04T14:28:17.640 回答
0

您的程序集上的一个强大的名称可以做到这一点 - 但您必须相信它正在像宣传的那样工作。您要解决的确切问题是什么?

于 2009-03-05T06:21:19.983 回答