我有一个DLL文件,并希望在Windows上执行它。 我从一个挑战网站获得这个DLL,声称该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
以下一系列步骤可能会有所帮助:
dll
文件 .exe