c# - 如何对加载到内存中的可执行文件进行 CRC 检查?

标签 c# .net winapi crc32

出于保护原因,我想运行一个线程来检查当前可执行文件的内存镜像。关于如何在当前内存可执行文件(WinAPI 或 .NET 方式)上执行 CRC 的任何想法?我的应用程序是用 .NET 编写的。

最佳答案

签署您的程序集将为您提供与验证 .Net 程序集的 CRC 相关的尽可能好的验证(请参阅 Rodrigo 的回答)。

如果您担心有人会在运行时修补程序集,您可能担心太多了。与简单地反汇编您的 .Net 代码并修复它(包括删除您的 CRC 检查)相比,它需要更好地理解运行时以在内存中为已经 JIT 的方法打补丁 IL。

如果你这样做更多的是为了好玩而不是你应该能够找到加载程序集的基地址并计算某种 CRC... 或者查看页面是否被标记为已修改...

关于c# - 如何对加载到内存中的可执行文件进行 CRC 检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5070783/

相关文章:

c# - C# 中的 Jaxb 等价物

c# - 使用 PropertyInfo.GetValue()

c# - 我可以禁用 WinForms 中的组合框而不使其变灰吗?

.net - WinForms 应用程序的常见漏洞

C++ Win32api,创建一个没有资源的对话框

c# - 具有网格布局的自定义 ItemsControl

用于打印副本的 C# 程序

jquery - JSON 位图数据

c++ - 我可以使用 DuplicateHandle 来使用外部进程的句柄吗?

c++ - 在现有窗口上绘画