问题描述
我的目标是反编译一个 C# libarabry 并将其与 Github 中相同库的源代码进行比较。 我想研究给定的源代码(反编译后)是否与Github中的源代码相同。
我已经使用 ILSpy 来尝试实现这一目标。 我已经下载并反编译了库“FluentScheduler”(v 5.5.1) - Nuget 链接:https://www.nuget.org/packages/FluentScheduler/
我将给定的源代码(在我的例子中,我使用 MonthUnit.cs 文件)与 Github 上的相同(同样版本)。
Github 链接:
我注意到代码非常相似,但不完全相同,例如:
有什么办法可以用ILSpy conf去掉不必要的括号?单线? 使其与 Github 源代码完全匹配? 如果不是,我应该使用另一个工具来反编译文件并产生与 Github 相同的结果吗?
非常感谢!
解决方法
有什么办法可以用ILSpy conf去掉不必要的括号?单线?使其与 Github 源代码完全匹配?
不,没有。反编译时不需要的东西(例如空格格式或不需要在最终汇编中的东西,如冗余语句)将不存在。
您可以做的是使用相同的格式化程序,在源代码和反编译结果上积极强制执行特定样式(并不重要)。那应该会让你更接近。但它可能不会 100% 完美。