原创木马编程diy第4篇之系统服务

原创木马编程diy第4篇之系统服务

ID:22942213

大小:49.00 KB

页数:11页

时间:2018-11-02

原创木马编程diy第4篇之系统服务_第1页
原创木马编程diy第4篇之系统服务_第2页
原创木马编程diy第4篇之系统服务_第3页
原创木马编程diy第4篇之系统服务_第4页
原创木马编程diy第4篇之系统服务_第5页
资源描述:

《原创木马编程diy第4篇之系统服务》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、[原创]木马编程DIY第4篇之系统服务离开学校了,可以专心写东西的时间相对也就少了今晚又重拾心情把以前的文章做了一个系统的整理以系列的方式发布出来,希望对编程有兴趣的朋友如果你有什么问题的话,我都很高兴与您学习交流QQ:121121606E-main:gotoc@163.com  Http://blog.csdn.net/chinafe  冷风于2008-5-9木马编程DIY第4篇之系统服务文/图冷风德州科技职业学院对系统服务的管理几乎是木马必不可少的功能了,比如神气儿,上兴远程控制等要是能我们给自己的木马加上这个功能,看着也不赖取得配置权限在对服务进行管理设置前,需要以相应的

2、权限打开服务,可通过下面两个API实现复制内容到剪贴板代码:SC_HANDLEOpenSCManager(LPCTSTRlpMachineName,//pointertomachinenamestringLPCTSTRlpDatabaseName,//pointertodatabasenamestringDWORDdwDesiredAccess  //typeofaccess);SC_HANDLEOpenService(SC_HANDLEhSCManager,//handletoservicecontrolmanager                //databaseLPC

3、TSTRlpServiceName,//pointertonameofservicetostartDWORDdwDesiredAccess//typeofaccesstoservice);通常我们以完全权限打开,示例代码如下:复制内容到剪贴板代码:  SC_HANDLEscm;  SC_HANDLEservice;  if((scm=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS))==NULL)  {      Printf("OpenSCManagerError");  }  service=OpenService(scm,S

4、erverName,SERVICE_ALL_ACCESS);    if(!service)  {    Printf("OpenServiceerror!");  }这样就可以通过service句柄对服务进行各种操作了枚举基本服务信息想要对服务进行设置就需要知道服务的当前信息,对我们有用的通常是以下几项服务名称,显示名称,启动状态,启动方式,程序路径等。这些信息我们可以通过API函数EnumServicesStatus来实现,它的原形如下:复制内容到剪贴板代码:BOOLEnumServicesStatus(SC_HANDLEhSCManager,//handletoser

5、vicecontrolmanagerdatabaseDWORDdwServiceType,    //typeofservicestoenumerateDWORDdwServiceState,  //stateofservicestoenumerateLPENUM_SERVICE_STATUSlpServices,                  //pointertoservicestatusbufferDWORDcbBufSize,      //sizeofservicestatusbufferLPDWORDpcbBytesNeeded,//pointertovaria

6、bleforbytesneededLPDWORDlpServicesReturned,                  //pointertovariablefornumberreturnedLPDWORDlpResumeHandle  //pointertovariablefornextentry);其中LPENUM_SERVICE_STATUSlpServices是一个结构,它的原形如下:复制内容到剪贴板代码:typedefstruct_ENUM_SERVICE_STATUS{//ess  LPTSTRlpServiceName;  LPTSTRlpDisplayName

7、;  SERVICE_STATUSServiceStatus;}ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;结构中包含服务名称,显示名称,启动状态。虽然它所返回的信息是及为有限的,但它是一次枚举所有服务信息在要求不高的情况下,用它还是相当方便的,下面的示例代码可以枚举系统中所有服务的基本信息,代码如下:复制内容到剪贴板代码:  LPENUM_SERVICE_STATUSlpServices  =NULL;  DWORD  nSize=0;  DWOR

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。