如何查看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个免费工具用于此目的:
- 由Resharper制造的JetBrains的dotpeek – 更漂亮的用户界面,但我认为它提供的代码实际上并不是那么易读。 http://www.jetbrains.com/decompiler/
- 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格式查看代码。
要遵循的步骤
- 使用此链接下载dot peek软件https://www.jetbrains.com/decompiler/download/download-thanks.html?platform=windowsWeb
- 将其安装在您的机器中
- 将文件保存在桌面上
- 在文件菜单中使用打开选项,选择您的DLL
- 在程序集资源管理器视图中,您可以看到您的代码。
提前致谢,