Windows服务原理&调试方法
教程参考自《逆向工程核心原理》
1.概述
服务程序比较难调试,有时,即使是逆向分析经验丰富的人调试起来也并非易事。本文通过服务的原理来简单介绍下服务的调试方法。
2.原理
Service(服务程序)由SCM(Service Control Manager)管理,运行Service时,需要由sc(控制器)执行启动命令。sc向SCM提出服务控制请求,SCM向Service传递控制命令,并接收其返回的值。PS:sc无法直接向Service下达命令,必须通过SCM传达。
SCM可以理解为是一个抽象化的服务接口,一般通过函数OpenSCManager调用。
而sc就是我们常用的服务控制器,可以通过:services.msc打开或直接使用命令行运行sc.exe进行操作。
所有Service都是由sc调用StartService() API启动的&#