如何打开DLL文件来查看里面写了什么

本文关键字:什么 何打开 DLL 文件 | 更新日期: 2023-09-27 18:26:19

我丢失了类库的解决方案。我可以打开类库创建的DLL文件吗?

如何打开DLL文件来查看里面写了什么

您最好使用像Redgate的.NET Reflector或JetBrains的ReSharper反编译器这样的反编译器。

还有一些开源的,比如:

  • dotPeek

  • ILSpy

按照以下步骤操作。。。

  1. 进入「开始」菜单
  2. 键入Visual Studio工具
  3. 转到上面的文件夹
  4. 点击";VS 2013的开发者命令提示符";对于Visual Studio 2013或"Visual Studio命令提示符";在Visual Studio 2010的情况下
  5. 将命令提示加载到屏幕后,键入ILDASM.EXE并按ENTER键
  6. ILDASM窗口将打开。将.dll文件从文件夹拖动到窗口中。或者单击菜单文件。然后添加所需的.dll文件
  7. 完成上述步骤后,将显示清单和.dll文件。双击这些文件可以查看其中包含的内容

我想您已经下载了.NET Reflector&此FileGenerator插件http://filegenreflector.codeplex.com/,如果你这样做,

  1. 打开Reflector.exe,

  2. 转到"查看"并单击"加载项"、""

  3. 在"加载项"窗口中,单击"添加…"。。。,

  4. 然后找到你下载的dll

  5. FileGenerator.dll(带有FileGenerator插件的开关),

  6. 然后关闭"加载项"窗口。

  7. 转到"文件"并单击"打开",然后选择要反编译的dll,

  8. 打开后,它将出现在树视图中,

  9. 转到"工具"并单击"生成文件"(Crtl+Shift+G),

  10. 选择输出目录并根据需要选择适当的设置,单击"生成文件"。

使用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文件的使用不是开源的,因为它涉及字节码的故意混淆。

相关文章: