第六节 Windows的关机和重起

   很多木马都有远程关机功能,但这并不是一个很好的功能.不过对于入侵服务器,有时需要重起服务器.其实对于关机和重起,只需要调用几个
API函数即可实现.
对于WIN9X系统,可以直接调用,对于WIN2K以上,出于安全考虑,稍有不同,下面分别看一下. 9X系统:
ExitWindowsEx(EWX_LOGOFF,); //注销
ExitWindowsEx(EWX_REBOOT,); //重启
ExitWindowsEx(EWX_SHUTDOWN,); //关机 在程序中直接调用即可. 2K以上系统: HANDLE hToken;
TOKEN_PRIVILEGES tkp; OSVERSIONINFO osvi;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); // 取得系统版本 if (GetVersionEx(&osvi) == )
return false; if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
// Windows NT 3.51, Windows NT 4.0, Windows 2000,
// Windows XP, Windows .NET Server
if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
//打开当前进程访问代号
return false; LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[].Luid);
//获取本地唯一标识用于在特定系统中设置权限 tkp.PrivilegeCount = ;
tkp.Privileges[].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, , (PTOKEN_PRIVILEGES)NULL, );
//提升访问令牌权限
} ExitWindowsEx(EWX_FORCE, );//强制关机,不向进程发送WM_QUERYENDSESSION消息

黑客编程教程(六)Windows的关机和重起的更多相关文章

  1. 黑客编程教程(二)Win API编程简介

    第二节 Win API编程简介 下面介绍一下WIN API. 我们需要自己编写一个工具时,必然会用到很多操作windows和控制windows的函数,这些函数就是windows API. API是Ap ...

  2. 黑客编程教程(一)了解Windows机制

    第一节 了解Windows机制 Windows 是一个“基于事件的,消息驱动的”操作系统. 在Windows下执行一个程序,只要用户进行了影响窗口的动作(如改变窗口大小或移动.单击鼠标等)该动作就会触 ...

  3. 黑客编程教程(三)Windows 网络协议

    首先介绍一下网络协议:网络协议是网络上所有设备之间通信规则的集合,他定义了通信时信息必须采用的格式和这些格式的意义.大多数 网络协议都采用分层体系结,每一层都建立在他的下层之上,向他的上一层提供服务, ...

  4. 黑客编程教程(八)编写NT服务

    先介绍一下什么是NT服务,实际上就是一个可以在系统启动时自动在一定身份下启动的,伴随着系统长期存在的进程. 一个NT服务有三部分构成: :Service Control Manager(SCM) 每个 ...

  5. 黑客编程教程(十五)HTTP代理

    #include <stdio.h> #include <winsock2.h> #define MAXBUFLEN 20480 #define HTTPADDLEN 50 # ...

  6. 黑客编程教程(十三)多线程DOS程序

    DOS基本原理相信大家都已经很熟悉了,DOS工具大家也用的很熟悉.在群里 经常有人说什么时候去DOS什么东西. 现在我们就自己编写一个DOS工具. #include <winsock2.h> ...

  7. 黑客编程教程(十四)单线程TCP端口扫描器

    #include<winsock2.h> #include<stdio.h> #include <time.h> //计时需要用到的头文件 #pragma comm ...

  8. python3.4学习笔记(十六) windows下面安装easy_install和pip教程

    python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...

  9. 阅读《Windows 黑客编程技术详解》(甘迪文著)【正在进行】

    内容提要: 本书介绍的是黑客编程的基础技术,涉及用户层下的Windows编程和内核层下的Rootkit编程. 全书大纲: 第一篇 用户篇 平常计算机上使用的应用程序,都运行在用户层上,属于用户程序.在 ...

随机推荐

  1. 你的灯亮着吗pdf –读书笔记

      十句话概括这本书   1.确认问题比找到方法更重要 2.解决问题其实解决的是"人的期待" 3.你在解决问题中可能会发现新的机会 4.要了解问题的可变性和复杂性 5.站在用户而不 ...

  2. ipa 打包遇到的坑

    1.xcode 打包 并上传至 appstore 审核 2.预留邮箱 收取 appstore 的审核结果 3.审核通过以后,通过 iTunes Connect 上传正式文件至 appstore     ...

  3. java instanceof和isInstance的关系 精析

      1.instanceof 用途:判断这个object对象是不是这种Class类型. 语法: boolean result = object instanceof Class; 用法: 判断obje ...

  4. java 调整jvm堆大小上限

    针对单个类,eclipse中调整jvm的运行参数,加上这么一句: -Xmx80m 即可把堆上限调整到80m. 关键字: BEA JRockit

  5. linux limits.conf 配置

    转自:http://kerry.blog.51cto.com/172631/300784 limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentic ...

  6. 用openssl生成SSL使用的私钥和证书,并自己做CA签名(转)

    本 文记叙的是一次基于SSL的socket通讯程序开发中,有关证书,签名,身份验证相关的步骤. 我们的场景下,socket服务端是java语言编写的,客户端是c语言.使用了一个叫做matrixssl的 ...

  7. 利用 AFN 上传相册或拍照图片

    概述 自定义上传图片请求,自定义调取相册及拍照,方便多处使用时调用. 详细 代码下载:http://www.demodashi.com/demo/10718.html 由于项目中多处需要上传图片,我们 ...

  8. Android网络开发之Socket通信

    HTTP通信中Client发送的每次请求都需要Server回送响应,在请求结束后,Client会主动释放连接.从建立连接到隔壁连接的过程成为一次连接.要保持Client程序的在线状态,需要不断地向Se ...

  9. Mybatis日期类型的关系判断

    进行时间段的查询时,在mapper文件中直接使用">","<"等关系运算符是无法解析的 <if test="executeStart ...

  10. jquery json ajax三级联动

    province_city_area.jsp <%@ page language="java" pageEncoding="UTF-8"%> < ...