首页
社区
课程
招聘
[求助]请问下如何用ollyice调试服务进程啊
发表于: 2007-5-24 09:47 9180

[求助]请问下如何用ollyice调试服务进程啊

2007-5-24 09:47
9180
许多服务进程不是dll,可以手工启动都是net start ……exe,那么ollydbg直接装载这个exe的时候,调试不成功,在分发例程的时候就会失败。
请问该如何调试它们?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
2
```没试过``
附加进程应该可以吧!!!!不太清楚`
2007-5-24 09:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
附加进程是可以,但不能调试刚开始启动的时候,比如我想调试终端服务刚被启动的时候如何启动一个rdp-tcp侦探器的
2007-5-24 10:39
0
雪    币: 47147
活跃值: (20380)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
你可以试试这思路:

1.OD菜单,设置OD为即时调试器,关闭OD;
2.找到你的服务程序,即DLL,将其入口改成CC,即INT 3指令,同时记下原指令
3.启动服务,碰到CC后,会导致异常,OD会自动启动加载这个服务DLL文件,此时你将INT 3指令恢复原指令。
4.到这步,你己可以任意调试服务了
2007-5-24 10:41
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
多谢老大,虽然我的那个服务进程不是dll,是一个exe,但我想原理应该一样哈,我测试下
2007-5-24 10:48
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢老大,果然可以,但还是有一个疑问:
执行到int3后,调用到我的程序,ollydbg调试打开,这个时候我看eip指向了0xcc的位置,本来我以为ollydbg拦截到后后,除了要把原来的机器码复原后,还需要把EIP修改下,让它减一,但发现不需要修改EIP了,直接执行即可了,我疑惑的是,eip应该加1啊,即应该执行了int3啊。
2007-5-24 18:52
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢kanxue,找这样的文章我找了好久了...
2007-7-1 10:30
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我测试用上面的方法可以拦下服务程序的.exe文件,相信.dll文件也可以拦下。

但我遇到一个apache的下面的.exe服务端,该服务端里面用以上方法调用dll,如果断到dll上去?

#ServerRoot "\"
PidFile logs/httpd.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 300
Listen 5870
LoadModule LicenceService_module "modules/LicenceService.dll"   
<Location /LicenceService.asp>
  SetHandler LicenceService-handler
</Location>
2007-7-1 11:23
0
游客
登录 | 注册 方可回帖
返回
//