WINDOWS NT下的禁止关机

WINDOWS NT下的禁止关机


WINDOWS将核心代码封装,而仅仅提供接口API,也就是说,你只需要根据说明书来操作遥控板,而不需要自己去研究遥控板是怎么

实现的。

同样的,如果你想关机,那么流程如下:

    调用系统关机API--送入该API必要的参数--转由系统执行关机


一、用OD载入c:/windows/system32/shutdown.exe后,可以看到它调用的相关API:

 

需要注意的说,WIN 2K下需要得到SHUTDOWN许可:
(1)首先得到当前程序的进程句柄;
(2)使用这个进程句柄得到当前程序的访问标记;
(3)生成TOKEN_PRIVILEGES结构;
(4)有了TOKEN_PRIVILEGES结构后再获得SHUTDOWN权限;
(5)最后使用ExitWindowEx函数进行相关操作。


二、目前流行的快速关机方法,是采用了下面两个Native Api来实现的:

 

NT native API 是可由用户模式和核心模式程序调用的NT系统服务集接口,它们直
接由NT操作系统实现.例如,当应用程序调用CreateFile()时,最终会转换为对
native API NtCreateFile()的调用.微软对被设备驱动程序调用的Zwxxx系列函数
给过一些说明.但是,这些公开的函数只不过是全部native API的一小部份,仅有
10%的native api在DDK中被公开其调用!。

 

三、如何禁止关机

当我们HOOK掉相应的API,在系统接管前先自行处理,就可以实现禁止关机。

网上流行的全局Hook 程序一般采用 SetWindowsHookEx,此函数原型:

 

使用这个这个API 时候有问题的,只能挂接系统中的所有GUI线程,对Windows console 类的程序就无能为力了。

还有一种通过插入注册表来实现:

 

 

这种方法简单,但是还是只能挂钩GUI程序,并且这个键值已经被HIPS和部分杀软所关注。

 

 

以上两种效果不好,Ring3下的HOOK只对当前进程有效,其他进程的API还是正常的。这就是说我们必须枚举进程,然后对每个Ring3

进程执行一遍HOOK操作。但是,系统中总有新进程产生,对于这些新进程我们怎么处理呢?最容易想到的就是设置一个TIMER,每隔

一段时间就枚举一遍进程然后把新的挂钩。但仔细一想就知道不行,TEMER过快严重影响系统效率,慢了又起不到作用,况且

windows不是一个实时操作系统,没人能保证到时间TEMER就被激活。如果我们能监控进程创建,并在他们真正运行之前就执行挂钩

操作,就可以完美的解决问题。
但是如何做到这一点呢?我们知道Ring3的进程都有一个“父进程”也就是说新进程都是由老进程创建的(驱动很少创建进程)。知

道这一点就好办了,我们要做的只是截获进程创建。你肯定会说“这么简单,HOOK NtCreateProcess就可以了!”但是这不是最简

单的做法。为什么这么说呢,首先在NtCreateProcess函数被调用时进程并没有真正被创建,我们无法执行HOOK操作,而当

NtCreateProcess返回时,进程又已经开始运行,HOOK时存在线程同步的问题(我用OD在NtCreateProcess设下INT3断点,却拦不到

,不只是为什么?)。
所以选择NtResumeThread。我们知道,当新进程被创建时,OS会为其创建一个住线程,而在这之后会调用NtResumeThread时期开始

运行,这时初始化完毕,DLL都已经被载入,但进程却没有开始运行这时我们最好的机会。

 

 

 

(HOOK部分资料来源于网络,收集整理而成。)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
破解版为最新完美版。支持WIN7隐藏任务栏图标。 使用说明: 把zh_cn.lng_rad分别拷贝到服务端的C:\WINDOWS\system32\rserver30,客户端的C:\Program Files\Radmin Viewer 3目录里。然后在设置为中文就行了。选项"Options..."语言"Language". 最新Radmin 3.4完美破解版 隐藏任务栏图标 ] Radmin (Remote Administrator)是一款屡获殊荣的远程控制软件,它将远程控制、外包服务组件、以及网络监控结合到一个系统里,提供目前为止最快速、强健而安全的工具包。   它有以下特点:   1.运行速度快。   2.Radmin支持被控端以服务的方式运行、支持多个连接和IP 过滤(即允许特定的IP控制远程机器)、个性化的档互传、远程关机、支持高分辨率模式、基于Windows NT的安全支持及密码保护以及提供日志文件支持等。   3.在安全性方面,Radmin支持Windows NT/2000用户级安全特性,您可以将远程控制的权限授予特定的用户或者用户组,Radmin将以加密的模式工作,所有的数据(包括屏幕影像、鼠标和键盘的移动)都使用128位强加密算法加密; 服务器端会将所有操作写进日志文件,以便于事后查询,服务器端有IP过滤表,对IP过滤表以外的控制请求将不予回应。   4.Radmin 目前支持TCP/IP协议,应用十分广泛。   安全性亮点:   高级 256-位 AES 强加密用于所有数据流。   可以使用 Windows Security 或 Radmin Security。   Windows 安全性支持对特定用户使用不同的权限,或对主域、可信域和活动目录的用户组使用不同的权限。 支持自动使用登录用户凭证和 Kerberos 验证。   Radmin 安全性支持对添加到 Radmin Server 访问列表的用户使用不同的权限。 Radmin 用户验证使用新的基于 Diffie-Hellman 的密钥交换,密钥长度 2048 位。   IP Filter 仅允许从特定 IP 地址和网络访问 Radmin Server。   添加到日志文件的 DNS 名称和用户名信息。   智能防护密码猜测。   安全性已经构建到了 Radmin 的核心:   Radmin 服务器有两个安全子系统。 因此您可以设置 Radmin 使用 Windows 的内嵌安全性或 Radmin 安全性。 Radmin 支持 Windows Vista/XP/2003/2000(32位和64位)用户级安全性,带有 Kerberos 和 NTLMv2 支持,以限制来自本地计算机、主域、可信域或活动目录的用户对特定用户或用户组的远程访问。 安全设置接口与 Windows 标准统一。   使用 Radmin 安全性时,您可以为 Radmin 用户设置不同的权限。 对于用户验证和会话密钥,使用了 Diffie-Hellman 交换 2048 位密钥的设置。   对于数据流加密,Radmin 使用了带 256 密钥的 AES。 Radmin 为每个会话生成独特的 256 位密钥,从而实现了无与伦比的保护。   使用的算法是最新的加密方法,密钥长度也远远高于行业标准。   所有数据,包括屏幕图像、光标移动和键盘信号都始终加密。 对于 Radmin 2.x 和 3.x 是无法取消加密的。   Radmin 将其所有操作和事件记录到日志文件中。   Radmin 有个 IP 过滤器表,允许您限制对特定 IP 地址和网络的远程访问。   Radmin 有内置的代码测试防御机制,保护程序的代码不受改变。   Radmin 用大随机码序(random bit sequence)为每个连接生成特有的私钥,以实现无与伦比的保护。 访问密码以加密的形式保存,不会以任何形式在计算机之间传输,防止第三方截取或生成密码。   Radmin 防止错误的服务器配置。 Radmin Server 不允许空密码。   Radmin Server 积极地保护其设置,它们保存在系统注册表里。 只有管理员权限的用户才能访问这个注册表区段。   智能防护密码猜测。 这项保护包含的功能有密码反猜测安全延时、密码猜测次数过多禁止 IP 地址等。   Radmin Server 在 Windows Vista/XP/2003/2000 (32 位和 64 位) 上作为一个服务启动,而不作为应用程序启动,增强了安全性。   您可以在您的计算机屏幕上的一个窗口或全窗口内看见远程计算机的画面。   您所有的搜索活动和 新闻都直接的传输到您的远程计算机,您可以工作在远程计算机上就跟在自己的计算机上一样正确的执行。根据我们的测试及使用者的回报,Radmin在速度及可以工作的数量上胜过其他的远程控制软件。   这些远程的计算机可以放置在因特网或您的局域网络内的任何一个地方,有了Radmin您不必需要一个快速的网络联机来在远程的计算机上工作,即使您只能利用modem来联机,您也可以每秒能够到达屏幕更新5-10次的合理速度。如果利用局域网络联机的话,您可以每秒能够到达屏幕更新100-500次的实时速度。它可以上下调整来挽救带宽。   安全和可靠性   Radmin 是容易使用和非常安全的,数据以128位加密传送的,这个软件是以TCP/IP协议为基底,在广域及局域网络内有最多最广泛的协定。这个意思是您可以控制世界上任何一台的计算机。当在"Full control"的模式下时,您可以让远程的计算机做您想要的事情;档案的来回传送,甚至关机。 那是,假如您是这个系统的管理者或是已经授权给sysadmin这些允许。 Radmin 从开始就设计的非常安全。   它极为可靠,工作了许多个月也不会有例外。   容易使用   Radmin有一个重要的优势就是有一个简单的接口,它没有一些无用的功能特色来膨胀这个软件,让它难以使用、学习和变的更慢。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值