如何打开DLL文件来查看里面写了什么
本文关键字:什么 何打开 DLL 文件 | 更新日期: 2023-09-27 18:26:19
我丢失了类库的解决方案。我可以打开类库创建的DLL文件吗?
您最好使用像Redgate的.NET Reflector或JetBrains的ReSharper反编译器这样的反编译器。
还有一些开源的,比如:
-
dotPeek
-
ILSpy
按照以下步骤操作。。。
- 进入「开始」菜单
- 键入Visual Studio工具
- 转到上面的文件夹
- 点击";VS 2013的开发者命令提示符";对于Visual Studio 2013或"Visual Studio命令提示符";在Visual Studio 2010的情况下
- 将命令提示加载到屏幕后,键入
ILDASM.EXE
并按ENTER键 - ILDASM窗口将打开。将
.dll
文件从文件夹拖动到窗口中。或者单击菜单文件→ 新。然后添加所需的.dll
文件 - 完成上述步骤后,将显示清单和
.dll
文件。双击这些文件可以查看其中包含的内容
我想您已经下载了.NET Reflector&此FileGenerator插件http://filegenreflector.codeplex.com/,如果你这样做,
-
打开Reflector.exe,
-
转到"查看"并单击"加载项"、""
-
在"加载项"窗口中,单击"添加…"。。。,
-
然后找到你下载的dll
-
FileGenerator.dll(带有FileGenerator插件的开关),
-
然后关闭"加载项"窗口。
-
转到"文件"并单击"打开",然后选择要反编译的dll,
-
打开后,它将出现在树视图中,
-
转到"工具"并单击"生成文件"(Crtl+Shift+G),
-
选择输出目录并根据需要选择适当的设置,单击"生成文件"。
或
使用http://ilspy.net/
您无法获得确切的代码,但您可以获得它的反编译版本。
最流行(也是最好的)工具是Reflector,但也有其他.NET反编译器(如Dis#)。
您还可以使用ILDASM反编译CIL,ILDASM与.NET Framework SDK工具捆绑在一起。
我使用JetBrains的dotPeek软件。你也可以试试。
Telerik的Just Decompile是我用过的最好的。一旦你注册了一封电子邮件,它就免费了。
使用Visual Studio打开.dll文件。或者资源编辑器。
*.dll文件是用WinZip、7-Zip等打开的归档文件。这并不是说所有.dll文件都是归档文件。您可以使用.dll扩展名保存任何内容。但是,大多数Windows.dll文件都生成为存档文件。例如Windows>twain_32.dll,它是一个存档文件。但是,twain.dll不是。如果你查看twain.dll,你会看到MZž作为前三个记事本字符,它表示编译的C文件/程序或程序的一部分。而MZ似乎是一个档案。
此外,大多数.exe文件都是档案,主要包含图标图像等。对于该文件和windows安装程序包,它们包含程序运行图像、电影等所需的所有信息,还包含安装信息和纯文本文件等目录。
我这里有一个游戏,game.exe,它包含Java类文件和一个指向.exe运行.bat文件的指针。显然,您的.bat文件将从存档中运行javac调用并运行游戏。还有一些.dll档案包含Java类文件。
[autorun]
ICON=AUTORUN'MINCRAFTLOGO.ICO
standard icon redirect here .ico is an image file within a .dll file within a .exe file. So the image seen on the .exe file is the minecraft logo. This is in a file called autorun.inf. Second example
[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 Autostart''中包含的solidedgeautorun.inf文件,是Autostart.dll目录。open=autostart.exe指定要从原始solidedge.exe存档中运行的autostart.exe文件。下面是一个使用.dll(动态链接库)文件的示例程序:创建和使用dll。
它还展示了它们是如何创建的。正如您所看到的,DLL文件文件的内容是由EXE文件调用的,正如我之前所解释的。这里还有一个教程演练:创建和使用您自己的动态链接库(C++),正如我之前所说,只要您有.dll文件,7-Zip或WinZip就会打开一个动态链接库作为存档。如果动态链接库的内容显然已经编译完毕,那么您需要一个能够读取该文件的程序。
然而,由于.dll文件在定义上只是存档库文件,因此dll文件本身应该是可读的,而不是编译的C或C#文件等。基本上,.dll文件就是存档。当在Visual Studio中创建.dll文件时,它们应该是。将创建DLL文件,并对存储在DLL文件中的任何信息进行加密。大多数情况下,这种加密是由VisualStudio自己处理的,通常不会手动编辑。将.dll文件内容作为.exe读取时,内容将自动解密。现在,当我们谈论编译程序时,我们将把内容更改为机器可以轻松解释的字节码。
此文件大小将小于相同内容的原始文件。但是,文件大小更大,这表明文件实际上已经加密。这可能是为了阻止人们阅读他们的代码。因此,对.dll内容的读取被称为解密,而不是反编译。反编译会将已编译的.txt文件转换为不可读的字节码。根据定义,标准.dll文件的使用不是开源的,因为它涉及字节码的故意混淆。