`

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部分资料来源于网络,收集整理而成。)

分享到:
评论

相关推荐

    关闭win2003关机提示

    在Windows Server 2003操作系统中,关机过程通常会显示一个关机提示窗口,这个窗口会询问用户关机的原因,这在某些情况下可能会显得冗余并延长了关机时间。为了提高关机效率,我们可以采取以下三种方法来关闭这个...

    WindowsXP优化

    12. **关闭文件保护**:在`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\winlogon`下修改`SFCDisable`的值为“ffffff9d”,可以禁止系统文件保护功能,但要注意这可能会增加系统安全风险。...

    WINDOWS组策略的修改.pptx

    本文将讲解任务栏和“开始”菜单项目设置,包括删除“开始”菜单项、防止隐私泄漏、禁止随意修改任务栏和“开始”菜单、去掉Windows XP“开始”菜单中的图形化设置、禁止“注销”和“关机”等多个方面的设置。...

    Windows Server 2003优化攻略.pdf

    6. **禁止关机理由选择**: 通过组策略编辑器(gpedit.msc)禁用“关机事件跟踪”,在“计算机配置”->“管理模板”->“系统”下找到“Shut down Event Tracker”并设置为“禁止”。 7. **使用USB设备和添加硬盘**:...

    windows启动慢.pdf

    修改注册表`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug`下的`Auto`键值为0,以禁止其运行。同时,关闭蓝屏时的内存转储,设置“我的电脑”属性中的“高级”->“设置”->“写入调试...

    电脑定时锁定专家 V8.78

    锁定时,必需输入正确口令才能解除锁定,即使在Windows NT/2000/XP下仍然有效。另外本软件还自带定时截取屏幕功能,让在你电脑中做手脚的人的一切操作以图型方式保存下来,以备查阅。最后,本软件还带有文件保护功能...

    实用注册表修改

    10. **禁止关机时自动清理虚拟内存**: 修改`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management`下的`ClearPageFileAtShutdown`为`0`,防止系统在关机时清空虚拟内存页文件...

    windowsXP修改组策略来设置系统性能

    自Windows NT 4.0以来,这项技术被广泛应用于企业环境中的系统管理和维护工作。 #### 组策略简介 组策略主要通过编辑注册表的方式实现对系统设置的调整。在Windows XP Professional版本中,可以通过gpedit.msc命令...

    windows2003配置

    - 定位到`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon`。 - 修改`AutoAdminLogon`值为1,并且设置`DefaultPassword`为管理员密码。 - 在本地安全策略(Local Security Policy)中,...

    计算机软件及应用操作系统.pptx

    Windows XP的全称是"Windows Experience Package",它是基于Windows NT内核的桌面操作系统。Windows XP发布于2001年,对系统性能进行了优化,对用户界面进行了改良,使其更加易用。其对硬件的要求相对较低,但为了...

    注册表优化

    在注册表的`HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows`下创建一个新的字符串值“load”,并将它的键值设置为开机时希望自动运行的程序的完整路径。为了兼容性,应使用文件的短...

    XP实用优化技巧大放送.docx

    在注册表编辑器中找到`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon`,新建字符串值"KeepRasConnections",并将值设置为1。 8. **加快刻录软件启动** 如果你使用第三方刻录软件,...

    WinXP注册表优化大全

    3. **恢复点设置**:在`HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore`下,可以调整系统还原点的创建频率,以节省硬盘空间。 四、其他优化策略 1. **网络优化**:调整`HKEY_...

    注册表修改大全(作者:Sunny)

    有的计算机的Windows 95/98关机特别慢,在选择完关闭计算机后会等上好几分钟才关机,打开我的电脑\HKEY_LOCAL_MACHINE\System\CourrentControlSet\Control\Shutdown,在文件夹下创建一个名为FastReboot 的字符串键...

    C++builder的60个编程资料

    20. **系统功能控制**:如关闭屏保、隐藏应用程序图标、模拟键盘输入、禁止关机等,体现了对操作系统功能的深度控制。 21. **程序启动行为**:如启动时运行特定代码、设置启动参数等。 22. **版权窗口**:在主窗口...

    最新版Radmin3.4完美破解版-隐藏任务栏图标

     2.Radmin支持被控端以服务的方式运行、支持多个连接和IP 过滤(即允许特定的IP控制远程机器)、个性化的档互传、远程关机、支持高分辨率模式、基于Windows NT的安全支持及密码保护以及提供日志文件支持等。...

    电脑终极优化

    - 修改注册表路径`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug`下的`Auto`值为`0`,禁用Dr.Watson的自动错误报告功能,避免其占用系统资源。 - 清除用户错误报告文件(如`user.dmp`)...

    破解版为最新完美版。支持WIN7隐藏任务栏图标

     2.Radmin支持被控端以服务的方式运行、支持多个连接和IP 过滤(即允许特定的IP控制远程机器)、个性化的档互传、远程关机、支持高分辨率模式、基于Windows NT的安全支持及密码保护以及提供日志文件支持等。...

Global site tag (gtag.js) - Google Analytics