如何打开.dll文件看里面写的是啥?

Posted

技术标签:

【中文标题】如何打开.dll文件看里面写的是啥?【英文标题】:How to open .dll files to see what is written inside?如何打开.dll文件看里面写的是什么? 【发布时间】:2013-08-05 17:09:04 【问题描述】:

我丢失了类库的解决方案,我可以打开由class-library 创建的.dll 文件吗?

【问题讨论】:

反射器...... DotPeek......... 另外:尝试使用源代码控制...... Opening and snooping DLLs的可能重复 dependencywalker 好用 dependencywalker.com 【参考方案1】:

最好使用 redgates .net reflector 或 jetbrains resharper 反编译器等反编译器。有开源的也喜欢

http://www.jetbrains.com/decompiler/

http://ilspy.net/

【讨论】:

jetbrains.com/decompiler 为我工作。为此+1。感谢您的建议! ilspy ++++++++++++++++++++ ildpy +1。不错。 ILSpy。你在监视什么?【参考方案2】:

按照以下步骤..

    进入开始菜单。 键入 Visual Studio 工具。 转到上面的文件夹。 在 VS 2013 的情况下单击“VS 2013 的开发人员命令提示符”,或者只是 VS 2010 中的“Visual Studio 命令提示符”。 命令提示符加载到屏幕类型ILDASM.EXE 后,按ENTER。 ILDASM 窗口将打开。将.dll 文件从您的文件夹拖到窗口。或单击File->New。然后添加所需的.dll 文件。 经过上述步骤后,Mainfest 和.dll 文件将出现。双击这些文件以查看其中包含的内容。

【讨论】:

我按照您的明确说明使用 VS 2012 和 2015 / Windows 7 Pro。但是,ILDASM 为我尝试检查的 .dll 文件发出以下消息:has no valid CLR header and cannot be disassembled 这个过程用于反汇编CLR生成的中间语言。【参考方案3】:

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

    打开 Reflector.exe,

    转到查看并单击加载项,

    在加载项窗口中单击添加...,

    然后找到你下载的dll

    FileGenerator.dll(女巫自带 FileGenerator 插件),

    然后关闭加载项窗口。

    转到文件并单击打开并选择要反编译的dll,

    打开后会出现在树状图中,

    进入工具,点击生成文件(Crtl+Shift+G),

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

使用http://ilspy.net/

【讨论】:

您具体建议哪一个? ILspy 还是反射器?利弊【参考方案4】:

你无法得到确切的代码,但你可以得到它的反编译版本。

最流行(也是最好的)工具是Reflector,但也有其他的.Net 反编译器(例如Dis#)。

您还可以使用 ILDASM 反编译 IL,它与 .Net Framework SDK 工具捆绑在一起。

【讨论】:

【参考方案5】:

我用的是Jetbrains Dot peek Software,你也可以试试

【讨论】:

【参考方案6】:

Telerik 的 Just Decompile 是我用过的最好的。使用电子邮件注册后即可免费使用。

enter link description here

【讨论】:

【参考方案7】:

使用 Visual Studio 打开 .dll 文件。或资源编辑器。

【讨论】:

当我尝试使用 Visual Studio Express 2013/Windows 7 Pro 打开一个 .dll 文件时,它发出以下消息:There is no editor available for (file I tried to open). Make sure the application for the file type (.dll) is installed.【参考方案8】:

*.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,正如我之前所说,7zip或winzip将打开一个动态链接库作为存档,只要你有.dll文件。如果动态链接库的内容显然已经编译好了,你需要一个可以读取文件的程序。

但是,由于 .dll 文件根据定义只是存档库文件,因此 dll 本身应该是可读的,而不是编译的 C、C# 文件等dll 被创建并且您存储在 dll 文件中的任何信息都被加密。大多数情况下,这种加密是由 Visual Studio 本身处理的,通常不是手动编辑的。当您将 .dll 文件内容作为 .exe 读取时,内容会自动解密。现在,当我们谈论编译程序时,我们正在将内容更改为机器易于解释的字节码。

此文件大小将小于相同内容的原始文件。但是文件大小较大,表明该文件实际上已被加密。可能是为了阻止人们阅读他们的代码。因此,读取 .dll 内容称为解密而不是反编译。反编译会将已编译的 txt 文件转换为不可读的字节码。使用标准 .dll 文件根据定义不是开源的,因为它涉及故意混淆字节码。

【讨论】:

我不确定这在计算机界是否算作叛教或异端。如何改进?如果是在纸上,我可以用火柴把它从痛苦中解救出来。

以上是关于如何打开.dll文件看里面写的是啥?的主要内容,如果未能解决你的问题,请参考以下文章

请教ACCESS高手一个问题!在线等,急呀!

如何查看某进程调用的DLL文件?

如何用PowerBuilder打开pbl和pbd文件

用易语言写的DLL怎么样再用易语言打开

如何查看DLL文件里的函数

如何在E语言中编写DLL文件?