如何提取类? dll 文件中的源代码?
有没有软件可以做到这一点?我在网上没有找到任何有用的信息,所以我在这里询问。
Is there any software to do this? I didn't find any useful information on the internet so I am asking here.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
您无法获得确切的代码,但可以获得它的反编译版本。
最流行(也是最好)的工具是 Reflector,但也有还有其他 .Net 反编译器(例如 Dis#)。您还可以使用 ILDASM 反编译 IL ,它与 .Net Framework SDK 工具捆绑在一起。
You cannot get the exact code, but you can get a decompiled version of it.
The most popular (and best) tool is Reflector, but there are also other .Net decompilers (such as Dis#). You can also decompile the IL using ILDASM, which comes bundled with the .Net Framework SDK Tools.
只有像
C#
和Java
这样的托管语言才能被完全反编译。您可以查看完整的源代码。对于Win32 DLL
,您无法获取源代码。对于 C# DLL, 使用 JetBrains dotPeek - 免费且与付费类似Redgate .Net Reflector。
玩得开心。
Only managed languages like
C#
andJava
can be decompiled completely. You can view the complete source code. ForWin32 DLLs
, you cannot get the source code.For C# DLLs, use JetBrains dotPeek - free and similar to the paid Redgate .Net Reflector.
Have fun.
使用 dotPeek
选择要反编译的
.dll
就是这样
Use dotPeek
Select the
.dll
to decompileThat's it
使用 .NET 反射器。
Use .NET reflector.
使用折射镜。
从此处下载。
Use Refractor.
Download from here.
您可以使用 Reflector 并使用 插件 FileGenerator 将源代码提取到项目中。
You can use Reflector and also use Add-In FileGenerator to extract source code into a project.
您可以使用 dotPeek
唯一要说的是,使用时,在类上右键选择
Decompiled Source
,而不是双击,否则dotpeek只会显示本地cs文件的内容,而不显示反编译的内容。You can use dotPeek
The only thing I have to say is that when using it, right-click on the class to select
Decompiled Source
instead of double-clicking, otherwise dotpeek will only display the contents of the local cs file, not the decompiled content.如果您只想了解 dll 程序集中的一些基础知识,例如类、方法等,要动态加载它们,
您可以使用 Microsoft 提供的 IL 反汇编工具。
一般位于:“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin”
If you want to know only some basics inside the dll assembly e.g. Classes, method etc.,to load them dyanamically
you can make use of IL Disassembler tool provided by Microsoft.
Generally located at: "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin"
我使用 Refractor 从 dll 文件恢复我的脚本/代码。
I used Refractor to recover my script/code from dll file.
使用 ILSpy - 它是开源且免费的!
Use ILSpy - it is open source and free of charge!!!