如何执行* .dll文件

时间:2010-06-15 10:43:56

标签: windows dll

我有一个DLL文件,想要在Windows上执行它。我从Challenge网站获得了这个DLL,该网站声称DLL应该独立执行。

9 个答案:

答案 0 :(得分:36)

要在DLL中运行函数,首先要找出这些函数正在使用任何PE(Portable Executable)分析程序(例如Dependency Walker)。 然后将RUNDLL32.EXEthis syntax

一起使用
 RUNDLL32.EXE <dllname>,<entrypoint> <optional arguments>

dllname是dll文件的路径和名称,entrypoint是函数名,可选参数是函数参数

答案 1 :(得分:5)

您可以使用rundll命令执行DLL文件中定义的函数。您可以使用Dependency Walker来探索可用的功能。

答案 2 :(得分:2)

虽然很多人都指出你不能直接执行dll而应该使用rundll32.exe来执行导出的函数,这里是一个实际的dll文件的截图,就像可执行文件一样:

enter image description here

虽然你不能直接运行dll文件,但我怀疑可以使用WinAPI函数CreateProcess从另一个进程运行它们:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx

答案 3 :(得分:1)

DLL是其他Windows程序使用的共享库,而EXE是实际执行的文件,它们链接到DLL文件,以便它们可以使用DLL。
两者的格式相同,PE(便携式可执行文件)或Windows中机器代码的格式,用简单的文字表示。)
换句话说,EXE包含入口点(main),而DLL包含库函数。您无法执行仅包含库函数的文件,而只能通过其他程序使用它们。

但是仍然有像rundll32.exe这样的程序,它提供了该入口点和DLL函数所需的一些最小框架。
我要说的是,您永远无法执行DLL文件,而只能通过EXE或其他程序提供入口点来使用它的代码。

答案 4 :(得分:0)

.DLL文件在.EXE / .COM / .BAT文件是可执行的意义上是不可执行的,所以我不确定你的意思。

您可以使用Windows SDK附带的Dependency Walker应用程序来查询.DLL并查看文件导出的函数。

答案 5 :(得分:0)

您无法“执行”DLL。您可以在DLL中执行函数,如其他答案中所述。尽管.EXE文件和.DLL文件在格式方面基本相同,但.EXE的区别特征是它包含一个指定的“入口点”,可以执行创建EXE的操作。 DLL实际上有类似的东西,但“dll main”的目的只是执行初始化而不是实现DLL的主要目的;这是(大概)它包含的各种其他功能。

您可以执行DLL导出的任何函数,假设您知道要执行哪个函数;一个EXE可能包含很多函数,但只有一个是专门用来“运行”它来执行的。

答案 6 :(得分:0)

运行.dll文件。首先找出它正在导出的功能。所有文件都将执行 导出类别中指定的功能..要知道它是什么功能导出参考“filealyzer” 应用程序..它将显示“PE EXPORT”类别下的导出功能 功能名称 - 然后打开命令提示符,键入Rundll32 dllname,functionname (dllname - 你的dll的名字) (Functionname--在PE Export下找到的函数的名称) 注意:确保您的命令提示符位置是您的DLL文件位置

答案 7 :(得分:0)

应该指出,由于完全有可能像其他任何可执行文件一样运行DLL,因此长期以来一直将其视为安全问题。因此,已经进行了许多安全改进和注册表修改(很抱歉,不再具有ref-links),可以防止在没有额外特权的情况下从常规用户空间运行DLL。

一个很好的例子。我记得做过这些骇客,但由于我不再记得自己到底做了什么。即使从GUI启动各种Win应用程序也能正常工作,我再也无法在普通用户外壳环境中运行任何DLL。

也就是说,绝对应该读“ Dynamic-Link Library Security”和“ Best Practices to Prevent DLL Hijacking”。

答案 8 :(得分:-5)

以下一系列步骤可能会有所帮助:

  1. 打开Windows资源管理器
  2. 在左上角,点击“整理”
  3. 选择“文件夹和搜索选项”
  4. 切换到“查看”标签
  5. 向下滚动并取消选中“隐藏已知文件类型的文件扩展名”
  6. 点击确定
  7. 现在找到dll文件
  8. 右键单击它并选择“重命名”
  9. 更改扩展程序(最后.之后的内容)并将其更改为.exe