我丢失了类库的解决方案,我可以打开.dll
由class-library
.
8 回答
最好使用 redgates .net reflector 或 jetbrains resharper 反编译器等反编译器。有开源的也喜欢
请按照以下步骤..
- 转到开始菜单。
- 键入 Visual Studio 工具。
- 转到上面的文件夹。
- 在 VS 2013 的情况下单击“VS 2013 的开发人员命令提示符”,在 VS 2010 的情况下单击“Visual Studio 命令提示符”。
- 将命令提示符加载到屏幕类型后,
ILDASM.EXE
按 ENTER。 ILDASM
窗口将打开。将.dll
文件从您的文件夹拖到窗口。或单击。File->New
然后添加所需的.dll
文件。- 完成上述步骤后,将出现 Mainfest 和
.dll
文件。双击这些文件以查看其中包含的内容。
我想你已经下载了 .NET Reflector 和这个 FileGenerator 插件http://filegenreflector.codeplex.com/,如果你这样做了,
打开 Reflector.exe,
转到查看并单击加载项,
在加载项窗口中单击添加...,
然后找到你下载的dll
FileGenerator.dll(女巫带有 FileGenerator 插件),
然后关闭加载项窗口。
转到文件并单击打开并选择要反编译的dll,
打开它后,它会出现在树形视图中,
转到工具并单击生成文件(Crtl+Shift+G),
选择输出目录并根据需要选择适当的设置,单击生成文件。
或者
你不能得到确切的代码,但你可以得到它的反编译版本。
最受欢迎(也是最好的)工具是Reflector,但也有其他 .Net 反编译器(例如Dis#)。
您还可以使用与 .Net Framework SDK 工具捆绑在一起的ILDASM对 IL 进行反编译。
我用的是Jetbrains Dot peek Software,你也可以试试
Telerik 的 Just Decompile 是我用过的最好的。使用电子邮件注册后,它是免费的。
.dll
用视觉工作室打开文件。或资源编辑器。
*.dll 文件是使用 winzip/7zip 等打开的存档文件。这并不是说所有 .dll 文件都是存档,您可以使用 .dll 扩展名保存任何内容,但是大多数 windows .dll 文件都生成为存档示例,例如 windows >twain_32.dll 这是一个存档文件,但 twain.dll 不是如果您查看 twain.dll,您会看到一个 MZŽ 作为前三个记事本字符,表示已编译的 C 文件/程序或程序的一部分。而 MZ 似乎是一个档案。
此外,大多数 .exe 文件是主要包含文件和 Windows 安装程序包的图标图像等的存档,它们还包含程序运行图像、电影等所需的所有信息,以及包括安装信息和纯文本文件的目录。
我在这里有一个游戏game.exe,它包含java类文件一个图像一个指示.exe运行.bat文件的指针。显然,您的 .bat 文件将从存档中运行 javac 调用并运行游戏,还有一些包含 java 类文件的 .dll 存档。
[autorun]
ICON=AUTORUN\MINCRAFTLOGO.ICO
此处的标准图标重定向 .ico 是 .exe 文件中的 .dll 文件中的图像文件。所以 .exe 文件上看到的图像就是我的世界标志。这是在一个名为 autorun.inf 的文件中。第二个例子
[discstarter]
startpage=Autostart\Disk1.html
uselanguagestartpage=1
windowcaption=Solid Edge
licensee=Siemens PLM Software
productguid=05B227DF-DB00-4934-B3C8-40B7D8FAA54A
singleinstance=1
hidesplashscreen=1
noscrollbars=0
showstatusbar=1
splashscreentime=0
windowwidth=750
windowheight=775
buttondir=Autostart
toolbarcolor=16777215
toolbar=goback,goforward,gohome,print,exit
[autorun]
open=autostart.exe
icon=Autostart\ENGINE.ICO
这是solidedge.exe 中包含的solidedge autorun.inf 文件 Autostart\ 是Autostart.dll 目录。open=autostart.exe 指定要从原始 solidedge.exe 存档中运行的 autostart.exe 文件。这是一个使用 .dll(动态链接库)文件http://www.flipcode.com/archives/Creating_And_Using_DLLs.shtml的示例程序。
它还显示了它们是如何创建的。如您所见,dll文件的内容由exe文件调用,正如我之前解释的那样,这里还有一个教程http://msdn.microsoft.com/en-us/library/ms235636.aspx,正如我之前所说只要您有 .dll 文件,7zip 或 winzip 就会将动态链接库作为存档打开。如果动态链接库的内容显然已经编译,则需要一个可以读取该文件的程序。
但是,由于 .dll 文件根据定义只是存档库文件,因此 dll 本身应该是可读的,而不是编译后的 C、C# 文件等 基本上 .dll 文件是存档,应该是在 Visual Studio 中创建 .dll 文件时,dll 是创建并加密您存储在 dll 文件中的任何信息。大多数情况下,这种加密是由 Visual Studio 本身处理的,通常不是手动编辑的。当您将 .dll 文件内容作为 .exe 读取时,内容会自动解密。现在,当我们谈论编译程序时,我们正在将内容更改为机器易于解释的字节码。
此文件大小将小于相同内容的原始文件。但是文件大小较大,表明该文件实际上已被加密。可能是为了阻止人们阅读他们的代码。因此,读取 .dll 内容称为解密而不是反编译。反编译会将已编译的 txt 文件转换为不可读的字节码。标准 .dll 文件的使用根据定义不是开源的,因为它涉及故意混淆字节码。