比较.dlls的工具和反汇编的差异?

fle*_*esh 24 .net disassembly

有没有人知道一个不错的工具,它将比较相同dll的两个不同版本并提取差异?

谢谢

Col*_*kay 25

也可以使用JetBrains的dotPeek.它也是免费的.

  • 在dotPeek中打开程序集
  • 选择装配
  • 文件 - >导出到项目
  • 在磁盘上选择一个位置

对要比较的程序集重复上述操作,然后在diff工具中打开这两个文件夹.我用过WinMerge.

您会注意到绝大多数文件都有差异.这是因为这些文件在顶部有注释

// MVID: {some guid here}
Run Code Online (Sandbox Code Playgroud)

您可以在WinMerge中创建一个过滤器来忽略它

  • 工具 - >过滤器......
  • 转到"线路过滤器"选项卡
  • 添加以下过滤器 ^// MVID:

如果您没有更改,它将重新扫描文件夹并忽略以该注释开头的任何行.现在您应该只看到您感兴趣的更改.

  • 这个很好用,完全免费.您可能需要添加更多过滤器.我不得不添加`^ // Assembly location:`.谢谢科林 (5认同)
  • 另外,请务必单击“线路过滤器”选项卡中的“启用线路过滤器”复选框选项。我一开始就错过了,花了十分钟摸不着头脑。 (2认同)

And*_*are 16

Reflector有一个Diff工具.注意:Reflector现在是付费软件.

  • 由于Reflector现在是付费软件,任何人都知道另一种选择吗?并不是说我不想打开我的钱包,而是寻找可以做差异和反汇编的替代品.更新:刚刚发现Telerik有一个非常棒的反汇编程序.Telerik反汇编程序.您需要创建一个帐户(免费)才能下载.拆卸,导出和比较. (4认同)
  • 该链接不再起作用. (4认同)