调试服务方法整理

原理:
应用进程                             SCM进程                                                                          服务进程
StartService()     创建进程,等待StartServiceCtrlDispatcher()返回    main->StartServiceCtrlDispatcher()

                                   调用SvcMain,等待RUNNING状态返回                    回调函数SvcMain()->

                                                                                                                          ->RegisterServiceCtrlHandler()->

                                                                                                                          ->SetServiceStatus(SERVICE_RUNNING)

SetServiceStatus()                                                                                         回调函数SvcCtrlHandler




方法:
1.增加服务启动超时时间
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control]        ServicesPipeTimeout                60*60*24*1000=86400000  


重启系统,使之生效。


2.修改文件:EP设置无限循环     
EP修改后的二机制:0xEB 0xFE(JMP 目前指令)



3.启动服务,附加至调试器


4.修改进程,删除无限循环(恢复EP指令)


5.调试分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值