添加一個利用Svchost啟動的DLL共享服務netsvcs_0x0,在注冊表已成功添加,但在服務界面就是啟動不起來,會報錯126:找不到指定模塊。


有沒有大佬幫忙看看是哪里出問題了???
還是dll檔案有問題?
dllmain.cpp:

service.h:
#pragma once
#include "stdafx.h"
DWORD WINAPI ServiceHandler(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, LPVOID lpContext);
#ifdef __cplusplus
extern "C"
{
#endif
__declspec(dllexport) VOID WINAPI ServiceMain(DWORD dwArgc, LPCTSTR* lpszArgv);
#ifdef __cplusplus
}
#endif
service.cpp:
// service.cpp : 定義 DLL 應用程式的匯出函式。
//
#include "service.h"
#include "stdafx.h"
SERVICE_STATUS_HANDLE g_service_status_handle = NULL;
SERVICE_STATUS g_service_status =
{
SERVICE_WIN32_SHARE_PROCESS,
SERVICE_START_PENDING,
SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_PAUSE_CONTINUE
};
DWORD WINAPI ServiceHandler(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, LPVOID lpContext)
{
switch (dwControl)
{
case SERVICE_CONTROL_STOP:
case SERVICE_CONTROL_SHUTDOWN:
g_service_status.dwCurrentState = SERVICE_STOPPED;
break;
case SERVICE_CONTROL_PAUSE:
g_service_status.dwCurrentState = SERVICE_PAUSED;
break;
case SERVICE_CONTROL_CONTINUE:
g_service_status.dwCurrentState = SERVICE_RUNNING;
break;
case SERVICE_CONTROL_INTERROGATE:
break;
default:
break;
};
SetServiceStatus(g_service_status_handle, &g_service_status);
return NO_ERROR;
}
extern "C" __declspec(dllexport) VOID WINAPI ServiceMain(DWORD dwArgc, LPCTSTR* lpszArgv)
{
g_service_status_handle = RegisterServiceCtrlHandlerEx(TEXT("Svchost Service"), ServiceHandler, NULL);
if (!g_service_status_handle)
{
return;
}
g_service_status.dwCurrentState = SERVICE_RUNNING;
SetServiceStatus(g_service_status_handle, &g_service_status);
while (TRUE)
{
Sleep(1000);
OutputDebugString(TEXT("Hello Topsec In Svchost"));
}
return;
};
uj5u.com熱心網友回復:
百度搜“Session0 穿透”uj5u.com熱心網友回復:
把路徑%SystemRoot%直接設定為C:\Windows試試轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/283856.html
標籤:C++ 語言
上一篇:C程里面這個看不懂了,求助!!!
