如何查看dll文件的源代码?

如何查看dll文件的源代码?

你可以用牛做汉堡包,但你不能用汉堡包做牛。

从dll转到源代码的过程称为反编译。 它是源语言特有的技术。 您能否向我们提供有关源语言的更多信息,以便我们为您指出一种特定的技术?

编辑更新

如果C#是首选语言,那么查看源代码的最佳方法是使用Reflector.exe。 请注意,这不会为您提供100%的原始来源。 相反,它是对原始来源的估计。 在某些情况下,它可以并且将产生准确的输出。

我能够从.dll文件中提取代码

我用过http://ilspy.net/

这个屏幕截图是核心库实现(我认为)

在此处输入图像描述

既然您已经说过使用C#.Net,那么您可以使用.NET Reflector将DLL反编译为例如C#代码。 正如其他人所说,您将获得原始代码的公平表示,但可能不是原始的C#代码。

有一个例外 – 一些公司在发货之前将一个类似Salamander .NET Obfuscator的混淆器应用到它们的组件中。 这个过程的结果是,如果没有使用混淆器,反编译的代码很难理解。 有些公司甚至加密程序集。 混淆和加密可以保护知识产权免受偶然攻击,但不能阻止重大的,精心设计的逆向工程工作。 鉴于这一现实,并非所有公司都采用混淆的方式,更不用说加密了。

你没有说dll来自哪里,但如果你买了它们,如果供应商不希望你向内看,Reflector对你没什么帮助。 最后,请记住,如果您购买了软件,则对其进行反编译 (无论dll是否被混淆) 可能违反了软件许可协议

考虑到我有同样的问题,所以其他人也会这样,只有更新我发现的内容才有意义。 所以…

我找到了2个免费工具用于此目的:

  1. 由Resharper制造的JetBrains的dotpeek – 更漂亮的用户界面,但我认为它提供的代码实际上并不是那么易读。 http://www.jetbrains.com/decompiler/
  2. ILSpy是开源的 – 不是那么漂亮,但是工作非常好。 http://www.ilspy.net/

也许使用.NET Reflector或Introspector,但正如@JaredPar所说取决于什么技术

我知道这是太晚的回复,但未来可能有助于某人。
要查看DLL的代码,请使用Red-gates的.NET Reflector 7.6工具。

可能,你不能 – 至少不是原来的forms。 您可以使用ILDASM来获得整体结构:[ http://msdn.microsoft.com/en-us/library/aa309387(VS.71).aspx]

注意:它只显示汇编代码,如果你知道汇编语言,那么……

与任何其他编译二进制文件相同的方式。

您要么查看原始源,要么使用反编译器。

如果你只想知道dll程序集中的几个基本内容,例如类,方法等,

我会建议微软提供的IL反汇编工具。

通常位于:“ C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin

注意帮助手册。 你会得到一些基本的想法。

注意:我没有在IL Disassember中测试过exe程序集。

最受欢迎(也是最好的)工具是Reflector ,但也有其他.Net反编译器(如Dis# )。 您还可以使用ILDASM对IL进行反编译, ILDASM与.Net Framework SDK工具捆绑在一起。

使用dot peek软件,您可以用dll格式查看代码。

要遵循的步骤

  1. 使用此链接下载dot peek软件https://www.jetbrains.com/decompiler/download/download-thanks.html?platform=windowsWeb
  2. 将其安装在您的机器中
  3. 将文件保存在桌面上
  4. 在文件菜单中使用打开选项,选择您的DLL
  5. 在程序集资源管理器视图中,您可以看到您的代码。

提前致谢,