svchost.exe
用微软的话来说:它是一个从动态链接库(DLL)中运行的服务的通用主机进程名称。一般存放在系统目录(%SystemRoot%)下的System32文件夹里。每次计算机启动的时候Svchost都会从注册表中读取服务列表,加载服务。
Svchost本身只是作为服务宿主,并不实现任何服务功能,需要Svchost启动的服务以动态链接库形式实现,在安装这些服务时,把服务的可执行程序指向svchost,启动这些服务时由svchost调用相应服务的动态链接库来启动服务。这不是由服务的可执行程序路径中的参数部分提供的,而是服务在注册表中的参数设置的,注册表中服务下边有一个Parameters子键其中的ServiceDll表明该服务由哪个动态链接库负责。并且所有这些服务动态链接库都必须要导出一个ServiceMain()函数,用来处理服务任务。
Svchost组是由注册表[HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionSvchost]项来识别的。在这个注册表项下的每个值都代表单独的Svchost组,并在我们查看活动进程时作为单独的实例显示。这里的键值均为REG_MULTI_SZ类型的值,并且包含该Svchost组里运行的服务名称
调试方法#
rundll32 xxx.dll,函数名 (注意大小写敏感)
或者通过下面的代码创建服务,通过svchost 来启动
File:https://github.com/Fate9091/File/blob/master/Desktop.rar
2、x64 dbg 加载rundll32 修改命令:dll文件名,函数名或标识