首页
社区
课程
招聘
如何对win2000的服务程序进行断点设置和跟踪?
发表于: 2004-8-26 09:39 4867

如何对win2000的服务程序进行断点设置和跟踪?

2004-8-26 09:39
4867
对于WIN2K的服务程序怎么跟踪?如何设置断点?服务程序一般都是有一个循环,怎么设置断点,对其一个处理流程进行跟踪?
各位DS请帮忙呀!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (6)
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
其实WIN2000的服务也是和普通程序一样,服务只不过是使程序处于挂起的状态,当有响应时处理对应事件,调试时只要直接打开文件就行了,或者attach一下!
2004-8-26 10:08
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢回复!

问题是怎么才能找到合适的位置来下断点呢?服务程序是这样的:当有客户端请求时,服务端查数据库,取与客户机相关的信息,然后返回给客户机,我现在想跟踪这一个处理流程,该怎么下断点呢?
2004-8-26 13:58
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
4
我很想知道,在用net start 命令启动服务时,他是如何响应net命令的,有没有办法对这个过程进程调试,或是可以在脱离net命令的情况下自身完成启动
2004-8-26 14:50
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
对于上一个问题,我曾经也碰到过,先静态分析一下主程序,找到在事件处理处,然后启动服务,用OD的ATTACH的功能连上程序,就可以调了,
对于下面的net命令,服务在系统中实际上有一套专用的API,creatservice,启动和停止的也有,你查一下,记不得了!
2004-8-27 10:52
0
雪    币: 3246
活跃值: (374)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
6
你看看MSDN里面的service相关的API和service程序的结构。service程序启动时要注册(先StartServiceCtrlDispatcher再RegisterServiceCtrlHandler),提供一个回调函数的表格给服务管理器在适当的时候调用。找到那个表格就行了。
2004-8-27 23:21
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
服务程序没有什么难的,主要你要明白几点,其实这些东西反过来想你就会明白为什么这样,假如你是MS 的开发人员,你要为你的customer 提供 Service 这种接口你真么做呢? 如果你这样想就会明白现在的Service 的设计了。
一些心得,仅代表个人的观点:
1、要搞明白SCM 操作函数 和 Service 的控制函数, SCM 操作函数,就好像是你操作数据库一样,添加一个Service,删除一个Service ,打开Service ,其实操作的是注册表而已,不过开发的人员可以认为是操作的是数据库,如果这样你就会明白,那么你在数据库里面家里一个服务,就好像是在数据库的某个表中添加了一条记录一样。 你添加了Service ,不等于Service 会运行,如果要让Service 运行,就要用到Service 的控制函数 。
2、要明白Service 大体是怎么玩的 :)

OS其他的时候,在注册表中,也就是所说的SCM 中一次找到每一个服务,处理的代码可能是这样的:
Service = FindFirstService  ;
while(Service)
{
   Service.RegisterFunction ; //
   Service = FindNextService ;
}
每一次找到一个Service ,OS 会给Service 创建一个线程来执行Service ,在Service 的主Thread 中要注册 Service 的处理函数。
OK ,当程序执行到StartServiceCtrlDispatcher 之后,程序会转到所注册的Service 处理函数出运行。
3、业务处理函数中,要注意两个问题,一个是注意想 SCM 报告此时运行的状态,另外一个是向SCM 注册一个回调函数,这个函数,就是SCM 用来控制Service 的一个函数,也就是一些控制消息发送到SCM 的时候,SCM 调用这个控制的回调函数来控制Service ,Service 自己提供这个callback 函数。
.........................
2004-11-7 22:41
0
游客
登录 | 注册 方可回帖
返回
//