终止进程的多种方法(2)

来源:未知 责任编辑:责任编辑 发表时间:2014-01-06 18:17 点击:

这样CrackMeApp进程中通过CreateFile打开的句柄就全找到了,一般有三个,我们可以把它全部都关闭,也可以只关闭最后一个(因为最后就是打开驱动的句柄,打开驱动是最后一次调用CreateFile).


这个我就得到了第二个参数,下面的参数都很简单了~

于是一调用这个 DuplicateHandle ,我们不仅关闭了远程的句柄,而且还获得了驱动的句柄,为所欲为了~~

于是我的第8个方法就是发送IO请求到CrackMeApp的驱动里,请求它修改被保护的进程PID为0,这样我们就可以用常规方法结束它了(Open+Terminate)

       9.上面方法的远程句柄关闭了,我们就自然可以去卸载驱动了~于是这个就是去 ZwUnloadDriver或者停止了它的Service.这样再用常规方法结束~~

       10.所有的win32子系统的进程都会有一个句柄在csrss.exe进程里面,CrackMeApp.exe自然也在,于是我们就可以把 csrss.exe 里面的句柄给 dup 过来自己使用,DUP过来的方法大致和上面相同,不过判断的进程该为csrss,类型要该为5(进程句柄的类型),然后呢对每个进程句柄做一个ZwQueryInformationProcess() 参数为 BASIC_INFORMATION=0 的查询,看看这个句柄是不是CrackMeApp的 ,如果是就直接拿来用,TerminateProcess之~

---------------以下是用借助驱动来结束的-----------

       11.用驱动patch了它的保护的PID值,然后用户空间里常规方法~

       12.用驱动恢复SSDT中ZwOpenProcess,这里我偷懒直接硬编码,调用那个驱动自身的恢复SSDT的函数,嘿嘿~~之后用户空间里常规方法(这个和11不算一种的)

       13.直接在驱动里调用 NtOpenProcess绕过它的SSDT HOOK就可以了,不过应该注意的是需要先把 KTHREAD 结构体里的 PreviousMode 值改为KernelMode,否则有可能会失败的~
获取句柄后调用ZwTerminateProcess,这个不需要修改PreviousMode,直接用就可以~

       14.和13的方法不同的是打开句柄的方法,使用了 PsLookupProcessByProcessId+ObOpenObjectByPointer的方法,然后还是调用 ZwTerminateProcess~(这个也要算不同的,,因为规则上曾经说过ObXXX和NtXX算不同的API的)

  15.最后一种了,首先获取CrackMeApp线程的TID,然后根据 PsLookupThreadByThreadId 获取 EThread 指针,然后向这个线程插入APC调用,在APC过程函数中,主要是执行的 ZwTerminateProcess( 0xffffffff, 0 );这个东西就是结束自己的意思(嘿嘿,,这个方法是我从IceSword里面抠出来的)~~本来想去调用Nt/ZwTerminateThread,结果那个函数没导出还得自己找,于是索性就简单点ZwTerminateProcess了.

       16 内存清零大法

       http://hi.baidu.com/%C3%F7%ED%F8%B5%C4%D0%C4/blog/item/255cd583fe406698f603a6f2.html

       17 作业方式终止

     ZwOpenProcess->ZwCreateJobObject->ZwAssignProcessToJobObject->ZwTerminateJobObject

二 枚举进程

      转自V大http://hi.baidu.com/killvxk这是V大的空间,请自己查找

      killvxk的驱动查进程:
      1.native api获得进程表a
      2.通过activelist获得进程表b
      3.通过pspCidTable获得进程表c
      4.通过handletablelisthead获得进程表d

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • dos命令原来也能这样用?允许查找未知子目录指定文件
  •  windows的磁盘操作之八——格式化分区的思考
  • windows篇-第三章 安装和配置DNS服务器
  • windows篇-第二章 安装和配置Web服务器
  • windows篇-第一章 windows server 2008安装和简单配置
  •  windows server 2003断开远程之后自动注销用户
  • Windows服务器下用IIS Rewrite组件为IIS设置伪静态方法
  • Windows 2008 R2 SP1部署WSUS 3.0 SP2
  • windows 2008 rodc扩展

快速直达

操作系统导航

LinuxWindows虚拟机
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1