【问题标题】:How do I most easily access a specific field in a .NET PE-file?如何最轻松地访问 .NET PE 文件中的特定字段?
【发布时间】:2011-12-07 14:47:55
【问题描述】:

我正在制作一个程序,它应该比较两个可移植可执行格式的文件,以查看它们是否是从相同的代码编译的。即使代码没有更改,有些字段总是会有所不同。我的解决方案基本上是将文件加载到我的程序中并将所有时间戳和校验和设置为零,然后进行比较。这适用于 exe 文件,但 .NET DLL 在 #~ 流中也有一个更难访问的修订字段。我必须解析所有看起来很乏味的标题,如果我能避免这样做,我会很高兴。

现在我正在考虑忽略整个#~ 流。我可以这样做并且仍然确定文件是等效的吗?当我只需要一个字段的地址时,阅读所有标题感觉就像浪费时间。如果我无法做到这一点,您能否建议其他耗时较少的解决方案?

可以补充一下,我正在用 C# 编程。

【问题讨论】:

    标签: c# .net executable portability


    【解决方案1】:

    你试过 Mono Cecil 吗?这是一个用于读取和修改 .NET 程序集的出色 API。

    http://www.mono-project.com/Cecil

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多