我有一个以管理员权限执行的可执行文件。其中一件事就是安装Windows服务,代码如下:
auto path = new wchar_t[MAX_PATH];
GetModuleFileName( nullptr, path, MAX_PATH );
handles._service = CreateService( handles._scManager, _name.c_str(),
_name.c_str(), READ_CONTROL | WRITE_DAC | SERVICE_QUERY_STATUS,
SERVICE_WIN32_OWN_PROCESS, dwStartType, SERVICE_ERROR_NORMAL,
path, nullptr, nullptr, dependencies.c_str(), nullptr, nullptr);
我在整个程序中都有其他系统调用。
外部实体可以使用此程序来执行系统API调用吗? 如果是这样,那个人将如何进行,我该如何预防呢?