EDR 通过CreateService创建服务分析——底层rpc调用系统接口操作注册表,还是要进行OS API的采集,性价比最高

发布时间 2023-07-27 14:39:22作者: bonelee

EDR 通过CreateService创建服务分析——底层rpc调用系统接口操作注册表,还是要进行OS API的采集,性价比最高

 

先说下注册表HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services的作用是什么?

注册表HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 是 Windows 注册表的一个分支,它包含了有关系统服务和驱动的配置信息。

这个路径下的每个子键都代表一个服务或驱动,它们的名称通常与服务的名称一致。每个子键下面可以有一系列的值,这些值用于指定服务的启动类型、错误控制、二进制路径等一系列配置信息。

在日常使用中,你不应随意修改这个路径下的信息,因为不正确的修改可能会导致系统服务无法启动或者系统崩溃。如果需要更改服务的设置,通常推荐使用服务管理器(services.msc)或其他专用工具。

需要注意的是,尽管这个路径下的信息可以提供关于系统服务的很多信息,但并非所有服务的配置都在这里。有些服务可能有自己的配置文件或者使用其他机制来存储配置信息。

 

我自己创建一个测试代码,并采集一些数据:

13:20:36:641,	create_service_test.exe,	7228:0,	7228,	EXEC_create,	C:\Users\xxx\source\repos\create_service_test\Debug\create_service_test.exe,	parent_pid:28164 cmdline:'C:\Users\xxx\source\repos\create_service_test\Debug\create_service_test.exe' image_base:0x0000000000840000 image_size:0x00023000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:641,	create_service_test.exe,	7228:21824,	7228,	FILE_read,	C:\Windows\Prefetch\CREATE_SERVICE_TEST.EXE-4892928C.pf,	offset:0x00000000 datalen:0x00000FB3 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\CodePage,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\CodePage\ACP,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\CodePage\OEMCP,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager,	access:0x00000009 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager,	access:0x00000009 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wow64\x86,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wow64\x86\,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\CodePage,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\CodePage\ACP,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\CodePage\OEMCP,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager,	access:0x00000009 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager,	access:0x00000009 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\CustomLocale,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\ExtendedLocale,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp\DLL,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\LongPathsEnabled,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	FILE_open,	C:\Windows\SysWOW64\ghijt32win10.dll,	access:0x00100021 alloc_size:0 attrib:0x00000000 share_access:0x00000005 disposition:0x00000001 options:0x00000060 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp\RuleCount,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	EXEC_module_load,	C:\Windows\SysWOW64\ghijt32win10.dll,	base:0x0000000061850000 size:0x00022000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\CustomLocale,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Language,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Language\InstallLanguageFallback,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\UILanguages,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\UILanguages\zh-CN,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\UILanguages\zh-CN\Type,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\UILanguages\zh-CN\DefaultFallback,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\UILanguages\zh-CN\en-US,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\UILanguages\zh-CN\DefaultFallback,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\UILanguages\zh-CN\en-US,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\UILanguages\zh-CN\LCID,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\UILanguages\zh-CN\Type,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_USERS\S-1-5-21-147214757-305610072-1517763936-4064785,	access:0x02000000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MUI\Settings\LanguageConfiguration,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_USERS\S-1-5-21-147214757-305610072-1517763936-4064785,	access:0x02000000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_USERS\S-1-5-21-147214757-305610072-1517763936-4064785,	access:0x02000000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_USERS\S-1-5-21-147214757-305610072-1517763936-4064785\Control Panel\Desktop,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_USERS\S-1-5-21-147214757-305610072-1517763936-4064785,	access:0x02000000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_USERS\S-1-5-21-147214757-305610072-1517763936-4064785\Control Panel\Desktop\MuiCached,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_USERS\S-1-5-21-147214757-305610072-1517763936-4064785\Control Panel\Desktop\MuiCached\MachinePreferredUILanguages,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\SideBySide,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	FILE_open,	C:\Windows\SysWOW64\ghijt32win10.dll,	access:0x00120089 alloc_size:0 attrib:0x00000000 share_access:0x00000005 disposition:0x00000001 options:0x00000060 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:36244,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	FILE_open,	C:\Windows\SysWOW64\vcruntime140d.dll,	access:0x00100021 alloc_size:0 attrib:0x00000000 share_access:0x00000005 disposition:0x00000001 options:0x00000060 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	FILE_open,	C:\Windows\SysWOW64\ucrtbased.dll,	access:0x00100021 alloc_size:0 attrib:0x00000000 share_access:0x00000005 disposition:0x00000001 options:0x00000060 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	FILE_open,	C:\Windows\SysWOW64\msvcp140d.dll,	access:0x00100021 alloc_size:0 attrib:0x00000000 share_access:0x00000005 disposition:0x00000001 options:0x00000060 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:37240,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:36244,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp\RuleCount,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:37240,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp\RuleCount,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:36244,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp\RuleCount,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	EXEC_module_load,	C:\Windows\SysWOW64\vcruntime140d.dll,	base:0x0000000079050000 size:0x0001B000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	EXEC_module_load,	C:\Windows\SysWOW64\ucrtbased.dll,	base:0x0000000079130000 size:0x00174000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	EXEC_module_load,	C:\Windows\SysWOW64\msvcp140d.dll,	base:0x0000000079070000 size:0x000B7000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE,	access:0x02000000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\QMGHCore,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\QMGHCore\ghdll32,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\QMGHCore,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\QMGHCore\userdll32,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\QMGHCore,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\QMGHCore\dependdir32,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\QMGHCore,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\QMGHCore\dependdll32,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	FILE_open,	C:\Program Files (x86)\Qianxin\Tianqing\hookbase\x86\vcomp140.dll,	access:0x00100021 alloc_size:0 attrib:0x00000000 share_access:0x00000005 disposition:0x00000001 options:0x00000060 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp\RuleCount,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:0,	7228,	EXEC_module_load,	C:\Program Files (x86)\Qianxin\Tianqing\hookbase\x86\vcomp140.dll,	base:0x0000000061820000 size:0x00022000 ,	0x00000000 [操作成功完成。  ],	
13:20:36:657,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager,	access:0x00000001 ,	0x00000000 [操作成功完成。  ],	
13:20:36:672,	create_service_test.exe,	7228:0,	7228,	FILE_open,	C:\Windows\SysWOW64\kernel.appcore.dll,	access:0x00100021 alloc_size:0 attrib:0x00000000 share_access:0x00000005 disposition:0x00000001 options:0x00000060 ,	0x00000000 [操作成功完成。  ],	
13:20:36:672,	create_service_test.exe,	7228:21824,	7228,	REG_openkey,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp,	access:0x00020019 ,	0x00000000 [操作成功完成。  ],	
13:20:36:672,	create_service_test.exe,	7228:21824,	7228,	REG_getval,	HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Srp\Gp\RuleCount,	type:0x00000000 datalen:0 data:,	0x00000000 [操作成功完成。  ],	
13:20:36:672,	create_service_test.exe,	7228:0,	7228,	EXEC_destroy,	C:\Users\xxx\source\repos\create_service_test\Debug\create_service_test.exe,	parent_pid:28164 cmdline:'C:\Users\xxx\source\repos\create_service_test\Debug\create_service_test.exe' ,	0x00000000 [操作成功完成。  ],	x 

测试代码:

#include <windows.h>
#include <tchar.h>
#include <iostream>

int main(int argc, char* argv[]) {
	SC_HANDLE schSCManager;
	SC_HANDLE schService;
	TCHAR szPath[100] = _T("C:\\Windows\\System32\\calc.exe");

	/*
	if (!GetModuleFileName(NULL, szPath, MAX_PATH)) {
		std::cout << "Cannot install service (" << GetLastError() << ")" << std::endl;
		return 1;
	}
	*/

	// 获取服务控制管理器句柄
	schSCManager = OpenSCManager(
		NULL,                   // 本地计算机
		NULL,                   // ServicesActive 数据库
		SC_MANAGER_ALL_ACCESS   // 完全访问权限
	);

	if (NULL == schSCManager) {
		std::cout << "OpenSCManager failed (" << GetLastError() << ")" << std::endl;
		return 1;
	}

	// 创建服务
	schService = CreateService(
		schSCManager,              // SCManager 数据库
		_T("MyService2"),           // 服务名字
		_T("My Sample Service"),   // 服务显示名字
		SERVICE_ALL_ACCESS,        // 完全访问权限
		SERVICE_WIN32_OWN_PROCESS, // 服务类型
		SERVICE_DEMAND_START,      // 服务启动类型
		SERVICE_ERROR_NORMAL,      // 错误控制类型
		szPath,                    // 服务的二进制路径
		NULL,                      // 没有加载的组名
		NULL,                      // 没有标记标识符
		NULL,                      // 没有依赖服务
		NULL,                      // 本地系统账户
		NULL                       // 没有密码
	);

	if (schService == NULL) {
		std::cout << "CreateService failed (" << GetLastError() << ")" << std::endl;
		CloseServiceHandle(schSCManager);
		return 1;
	}
	else {
		std::cout << "Service installed successfully" << std::endl;
	}

	CloseServiceHandle(schService);
	CloseServiceHandle(schSCManager);

	return 0;
}

  

从采集的数据看,最终create serice会通过rpc去调用系统接口注册服务,注册表里有新增key MyService2:

 

 

 

 

结论:

EDR 通过CreateService创建服务分析——底层rpc调用系统接口操作注册表,还是要进行OS API的采集,性价比最高!