我有一个正在尝试修补的 C# .NET DLL。我为这项工作选择了带有 Reflexil 插件的 .NET Reflector(以及用于反混淆的 de4dot)。Reflector 能够非常成功地向我展示我想看到的 C#,并且我能够使用 Reflexil 修补 CIL 程序集。当我试图将 DLL 保存为一个新的二进制文件时,Reflexil 给了我一个 Signed Assembly 对话框,我选择了 Remove Strong Name。
当我尝试运行加载程序集的代码时,出现错误:
System.BadImageFormatException:无法加载文件或程序集“MyAssembly,Version=1.0,Culture=neutral,PublicKeyToken=somehash”或其依赖项之一。该模块应包含程序集清单。
我该如何解决这个问题?
此外,如果我在修补的 DLL 上使用 peverify.exe,我会收到错误消息:找不到文件或标头错误。这让我相信 Reflexil 的修补过程有问题?