Windows服务原理&调试方法

这篇教程介绍了Windows服务的原理和调试方法。服务程序由Service Control Manager(SCM)管理,通过sc控制器启动。调试服务时,重点在于理解Service启动过程,包括StartServiceCtrlDispatcher()和SvcMain()函数的作用。示例代码展示了如何以服务模式或常规模式运行程序,并提供了安装、卸载服务的函数。调试服务时,可以在ServiceMain()函数入口设置断点,注意参数传递的正确性以避免内存访问错误。
摘要由CSDN通过智能技术生成

Windows服务原理&调试方法

教程参考自《逆向工程核心原理》


1.概述

服务程序比较难调试,有时,即使是逆向分析经验丰富的人调试起来也并非易事。本文通过服务的原理来简单介绍下服务的调试方法。


2.原理

Service(服务程序)由SCM(Service Control Manager)管理,运行Service时,需要由sc(控制器)执行启动命令。sc向SCM提出服务控制请求,SCM向Service传递控制命令,并接收其返回的值。PS:sc无法直接向Service下达命令,必须通过SCM传达。
1

SCM可以理解为是一个抽象化的服务接口,一般通过函数OpenSCManager调用。
2

而sc就是我们常用的服务控制器,可以通过:services.msc打开或直接使用命令行运行sc.exe进行操作。
3

所有Service都是由sc调用StartService() API启动的&#

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值