首页
社区
课程
招聘
[旧帖] 关于NT服务无法访问网络问题 0.00雪花
发表于: 2012-4-8 16:20 3213

[旧帖] 关于NT服务无法访问网络问题 0.00雪花

2012-4-8 16:20
3213
大家好!
   最近遇到了个问题,希望能够得到大家的指点,先谢谢了!!
问题描述:
之前写了个程序EXE类型的,里面使用到了CURL这个库,用来获取网页内容的。EXE工作很正常,没什么问题,最近要将这个EXE程序改成DLL,并以服务的方式启动DLL,当服务启动的时候,CURL的curl_easy_perform函数返回值为6,也就是无法解析给定的远程主机。同样的代码为什么可以在EXE下正常工作在DLL以服务方式启动的时候会不行。于是我开始查找原因:
首先我在DLL那导出一个函数DEBUG,该函数跟ServiceMain函数的工作内容差不多,我这回不用服务方式启动,而是写一个EXE来调用这个DLL导出的DEBUG函数,发现工作正常,没问题。
接着我修改ServiceMain函数,让他直接调用DEBUG函数,然后以服务方式启动,发现还是出现无法解析主机的问题。并且我提供给CURL这个库的域名也是没问题的,在浏览器中打开很正常,由此肯定我的代码是没有问题。于是我在网上找,找到了这个网址:
http://www.qqkjl.com/jxc3c/201109/63922.html
里面讨论的内容说到NT服务默认是以local system这个用户启动的,跟普通的EXE程序运行的用户权限不同,local system用户在本地拥有最高权限,但是这个用户不能访问网络。里面有这个说法。然后我就在服务那有个登陆身份的,我将它改成指定的用户,发现还是出现无法解析主机问题。就像里面讨论到的那样,一些木马也是以DLL方式作为服务启动的。为什么他们可以访问网络?我看了些远控的代码,里面注册服务的方式跟我的大同小异,不存在什么特别之处啊,纠结啊,郁闷啊。这就可能存在两个问题,一个是CURL库不支持以服务方式启动?但又说不通;另一个问题就是NT服务无法访问网络?这似乎也说不通。没办法我现在真的是无法解决了,希望能得到大家的指点,谢谢了。我的QQ419248531

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 143
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
   切换下桌面就行了,代码可以参考gh0st的SVCHOST。
2012-4-9 12:15
0
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这种问题可以用排除法来缩小范围,比如在你的service里面用socket直接去连,看看能通么,能通,说明你的sevice配置没问题,是curl里面也许需要设置什么,否则就是sevice有问题,试着用network sevice这个账户看看
2012-4-12 21:23
0
游客
登录 | 注册 方可回帖
返回
//