win2000/xp/2003下不能关闭程序的方法

2016-02-19 18:48 32 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享win2000/xp/2003下不能关闭程序的方法,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

只针对2000以上系统,9X的就别问我了,4年没搞了:)  
   
  一般有4种方法:  
   
  1)DLL挂靠方法  
  程序改写为DLL结构,挂靠Explorer.exe上运行  
  好处:没进程实体,普通进程查看无效  
  缺点:可以通过代码叫Explorer.exe  Unload你的Dll,呵呵,还有Explorer出错时,会重新启用,那个时候需要重新挂靠你的DLL  
  改进:用Debug权限挂靠WinLogon.exe,哈哈,安全系数就高很多,WinLogon死了,你也就死机了  
   
  LYSoft主页的http://ly.activepower.net/projects/No  Ctrl+Alt+Del.rar是DLL挂靠方法的例子,修改就可用  
   
  2)API  Hook方法  
  关闭程序的实质是什么?TerminateProcess的API!  
  只要你的Application.Title:=‘’就不会出现在任务管理器的第一页  
  第二页会出现的,但不怕,我Hook了TerminateProcess就可以保证安全了  
  TerminateProcess可以Hook?可以,但Hook了没用,Handle是未知的  
  因此实质上要Hook的是OpenProcess,只要是我的进程就拒绝打开  
  好处:不怕你见的到,你就是关不了我  
  缺点:CMD下的命令行方法Hook不到  
  改进:能够Hook系统服务就一定可以,可惜难度大,需要编写驱动  
   
  LYSoft主页的http://ly.activepower.net/projects/API  Hook.rar是API  Hook方法的例子,修改就可用  
   
  3)NT内核修改方法  
  修改NT系统内核对象PsLoadedModuleList上的ActiveProcessLink链表就可以在系统上“失踪”了,但实现这个功能需要驱动支持,没驱动的方法只能适合XP/2003,因为Nt5.1以上的ZwSystemDebugControl  API才能支持内核访问  
  好处:你怎么都见不到进程的  
  缺点:难度过大,用内核工具仍然可以看见的,很多RootKit木马就用这个方法的  
  改进:几乎是终极大法,没什么别的好方法了。  
   
  LYSoft主页的http://ly.activepower.net/projects/NTLowLevel.exe是演示程序
   
  关键代码如下  
  function  HideProcess:  boolean;  
  label  Err;  
  var  
     EProcess  :  DWord;  
     hPM,  FLink,  BLink:  Cardinal;  
  begin  
     Result  :=  false;  
     EProcess  :=  GetCurrentEProcess;  
     if  EProcess    1  then  Exit;  
     if  not  ReadVirtualMemory(EProcess+$88,  @FLink,  4)  then  Exit;  
     if  not  ReadVirtualMemory(EProcess+$8C,  @BLink,  4)  then  Exit;  
     if  not  WriteVirtualMemory(FLink+4,  @BLink,  4)  then  Exit;  
     if  not  WriteVirtualMemory(BLink,  @FLink,  4)  then  Exit;  
     Result  :=  true;  
  end;  
   
  不要问为什么了,你需要NTDDK的知识才能明白的:)  
   
  4)远程线程方法
  没有实体的存在,没进程,没DLL,只有代码  
  把代码直接注入进程空间VirtualAllocEx,用CreateRemoteThread运行,  
  好处:没可见的实体,隐蔽性最强  
  缺点:适合于简单代码,复杂的难以保证其可靠性和稳定性,病毒的最爱  
  改进:不需要什么了  
   
  这个没演示了,呵呵:)  
  注入某个进程空间,要涉及到API定位等一系列病毒式操作,在对方的身体运行呀  
  简单的代码可以,复杂的功能就很不适合,一般的程序根本就不适合,所以除非写病毒,否则不建议用这样的方法,因为连调试都变得很难  
   
  LYSoft  http://lysoft.7u7.net

来源:http://www.tulaoshi.com/n/20160219/1619050.html

延伸阅读
  作为linux方面的初级用户,遇到的很实际的问题是:我想学 linux ,但是同时,我还想继续用windows 下眼花缭乱的应用程序,我现在还没学会怎样配置linux,怎样才能做到系统双重启动呢? 上面的问题几乎是每个新手都会面对的,windows2000出现以前很多pc机用户使用的是windows98操作系统,几乎所有的关于linux入门的书籍都会教你如何...
安装选默认目录就可以了 c:mysql 把 c:mysqlmy-example.cnf copy 为 c:my.cnf 要修改的自己去看看吧,很简单的 把 c:mysqllibcygwinb19.dll copy 到 winntsystem32 启动 mysql c:mysqlinmysqld-shareware --install net start mysql 启动啦 更改 root 的 password C:mysqlinmysql mysql mysql UPDATE user SET password=PASSWORD(''...
Win7系统减少关闭程序等待时间的方法   1、打开开始菜单中的运行对话框,输入regedit再点击确定; 2、在打开的注册表编辑器的窗口中,依次展开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl,然后在右侧找到waitToKillServiceTimeout并双击; 3、之后再打开的编辑字符串界面中,将默认的数值数据是12000,即代表12...
标签: 电脑入门
win7关机时强制关闭程序的设置方法要修改组策略编辑器。 "开始--运行",输入"gpedit.msc"打开组策略编辑器。 依次找到并展开"计算机配置→管理模板→系统→关机选项", 双击右侧窗格中的"关闭会阻止或取消关机的应用程序的自动终止功能", 在弹出的后续窗口中点击并修改为"已启用&q...
一.软件安装及PATH等设置: 这一步没什么说的,按J2SDK1.4.1(当然也可以是其他版本的),Apache2.0.43,Tomcat4.1.12的顺序安装就是了。 然后再分别设置CLASSPATH,PATH,Java_HOME,CATALINA_HOME。 二.整合配置: 1. 下载mod_jk2-2.0.43.dll(地址:http://jakarta.apache.org/builds/jakarta-tomcat-connectors/j...

经验教程

591

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部