如何执行* .dll文件

我有一个DLL文件,并希望在Windows上执行它。 我从一个挑战网站获得这个DLL,声称该DLL应该独立执行。

Solutions Collecting From Web of "如何执行* .dll文件"

要运行DLL中的函数,首先找出这些函数使用任何PE( 可执行程序)分析程序(例如Dependency Walker )。 然后使用以下语法使用RUNDLL32.EXE :

RUNDLL32.EXE <dllname>,<entrypoint> <optional arguments> 

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

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

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

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

你不能“执行”一个DLL。 您可以在DLL中执行函数,如其他答案中所述。 尽管.EXE文件和.DLL文件在格式上基本相同,但.EXE的显着特点是它包含一个指定的“入口点”,用于执行EXE创建的任务。 DLL实际上有类似的东西,但是“dll main”的目的只是为了执行初始化而不能完成DLL的主要目的; 这是为了(大概)其所包含的各种其他功能。

假设你知道你要执行哪一个,你可以执行任何由DLL导出的函数。 一个EXE可能包含了大量的函数,但是只有一个被特别指定只是通过“运行”来执行。

运行一个.dll文件..首先找出它正在导出的功能是什么.Dll文件将超出导出类别中指定的功能..要知道它是什么功能导出参考“filealyzer”应用程序..它会告诉你在“PE EXPORT”类别下的导出函数。下面的函数名称 – 然后打开命令提示符,输入Rundll32 dllname,函数名(dllname – 你的dll的名字)(函数名 – 你在PE下找到的函数的名字导出)注意:确保您的命令提示符位置是您的dll文件位置

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

在这里输入图像说明

尽管无法直接运行dll文件,但我怀疑可以使用WinAPI函数CreateProcess从另一个进程运行它们:

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

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

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