Windows RunDLL背后的想法是什么?
为什么要构思RunDLL和后来的RunDLL32?他们存在的目的是什么?以便绕过任务管理器 文章指出,RunDLL仍然需要一个特定的方法头作为候选入口点: 16位DLL:Windows RunDLL背后的想法是什么?,windows,rundll32,Windows,Rundll32,为什么要构思RunDLL和后来的RunDLL32?他们存在的目的是什么?以便绕过任务管理器 文章指出,RunDLL仍然需要一个特定的方法头作为候选入口点: 16位DLL: void FAR PASCAL __loadds EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow); 32位DLL: void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hi
void FAR PASCAL __loadds
EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
32位DLL:
void CALLBACK
EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
使用RunDLL入口点而不是常规可执行文件中的主入口点的目的是什么?整个点都可以在没有匹配的EXE的情况下运行DLL。为什么不将程序集重命名为*.EXE?没有必要有一个匹配的.exe文件。嗯?你不能只是重命名一个DLL并让它充当一个应用程序。如果它有一个主入口点,那么是的。请注意,它基本上来自Windows 95,它仍然存在的唯一原因是惯性和向后兼容性。即使在Windows 95中,rundll32也可能只存在于16位Windows的惯性中。至于为什么rundll存在于16位窗口中,它避免了需要一大堆单独的可执行文件。在那个时代,每一个字节都被计算在内。关键是在没有匹配的EXE的情况下运行DLL。为什么不将程序集重命名为*.EXE?没有必要有一个匹配的.exe文件。嗯?你不能只是重命名一个DLL并让它充当一个应用程序。如果它有一个主入口点,那么是的。请注意,它基本上来自Windows 95,它仍然存在的唯一原因是惯性和向后兼容性。即使在Windows 95中,rundll32也可能只存在于16位Windows的惯性中。至于为什么rundll存在于16位窗口中,它避免了需要一大堆单独的可执行文件。在那个时代,每一个字节都有意义。