本帖最后由 hongqi162 于 2011-02-25 11:03:37 编辑

解决方案 »

  1.   

    《Delphi下深入Windows核心编程》有介绍如何隐藏进程,可以研究一下
      

  2.   

    在任务管理器中进程“隐藏”我知道的有两种方法,第一种插进程,插入其他进程中执行,
    第二种Hook 任务管理器的枚举进程的函数NtQuerySystemInformation,过滤掉想“隐藏”的进程就行了。这样的所谓“隐藏”,其实不过是掩耳盗铃,用其他工具还是比较容易看到的。
      

  3.   

    http://www.google.com.hk/search?hl=zh-CN&safe=strict&q=rootkit+%E8%BF%9B%E7%A8%8B&aq=f&aqi=&aql=&oq=&gs_rfai=生活问百度,技术问google
      

  4.   


    根据我的理解:远程线程注入,是将自己写的dll或者一段代码,注入到别人的进程中去运行,以此到达隐藏“自己”的目的。而我现在是想,怎样把“别人”隐藏掉,比如我的程序跑起来,上面有个按钮,一点击以后,任务管理器里面就看不到QQ.exe这个进程了。 这个貌似用远程线程注入做不了吧?应该是一种“欺骗”任务管理器的方式,网上搜到的是Hook NtQuerySystemInformation这个API来到达这个目的,不过delphi的很少,基本都是C的,看不大懂,有没有delphi的大牛来讲讲课?
      

  5.   


    Rootkit是不是要做驱动的?这个delphi能搞么?不知道怎么搞哇~~
      

  6.   

    1、能搞,有delphi的DDK,不过我忘记叫啥了
    2、蓝屏蓝上一两个月就会了
      

  7.   

    编写驱动程序进入内核,断掉进程链表,另外,如果是WindowsXP操作系统,可以使用NtSystemDebugControl函数或ZwOpenSection函数直接在应用层修改内核数据,达到断链的目的实现隐藏进程。
      

  8.   

    http://www.google.com.hk/search?hl=zh-CN&safe=strict&q=rootkit+%E8%BF%9B%E7%A8%8B&aq=f&aqi=&aql=&oq=&gs_rfai=
      

  9.   

    http://download.csdn.net/source/2978071传了个老外写的delphi Rootkit,里面有Hook NtQuerySystemInformation 的代码。
      

  10.   

    为什么没人想到最简单的方法呢?
    任务管理器也是个EXE,它显示进程也是靠的memo,直接写他的内存,把那个进程写没了不就得了……
      

  11.   

    hook掉原来的函数,针对已有进程 如果用pid查看的话,是隐藏了进程名,根本就是掩耳盗铃。进程互相独立,怎么也改不了的
      

  12.   

    《Delphi下深入Windows核心编程》有介绍如何隐藏进程,可以研究一下 
      

  13.   

      1、要回答好这个问题不能不谈Ring0-Ring3
      Intel的x86处理器是通过Ring级别来进行访问控制的,级别共分4层,从Ring0到Ring3(后面简称R0、R1、R2、R3)。R0 层拥有最高的权限,R3层拥有最低的权限。
        按照 Intel原有的构想,应用程序工作在R3层,只能访问R3层的数据;操作系统工作在R0层,可以访问所有层的数据;而其他驱动程序位于R1、R2层,每一层只能访问本层以及权限更低层的数据。
        这应该是很好的设计,这样操作系统工作在最核心层,没有其他代码可以修改它;其他驱动程序工作在Ring1、Ring2层,有要求则向Ring0层调用,这样可以有效保障操作系统的安全性。
      但现在的OS,包括Windows和Linux 都没有采用4层权限,而只是使用2层——Ring0层和Ring3层,Ring0叫内核模式,Ring3叫用户模式。这是为了和其他一些硬件系统兼容,这些硬件系统只有2个级别的权限,如Compaq Alpha和Silicon Graphics MIPS等。
      比如:Linux使用了Ring3级别运行用户态,Ring0作为内核态,没有使用Ring1和Ring2。Ring3状态不能访问Ring0的地址空间,包括代码和数据。Linux进程的4GB地址空间(这里以原来的4GB空间距离,对现代更大的空间可能存在不同的划分),0G-2G部分大家是共享的,3G-4G部分是内核态的地址空间,这里存放在整个内核的代码和所有的内核模块,以及内核所维护的数据。用户运行一个程序,该程序所创建的进程开始是运行在用户态的,如果要执行文件操作,网络数据发送等操作,必须通过write,send等系统调用,这些系统调用会调用内核中的代码来完成操作,这时,必须切换到Ring0,然后进入3GB-4GB中的内核地址空间去执行这些代码完成操作,完成后,切换回Ring3,回到用户态。这样,用户态的程序就不能随意操作内核地址空间,具有一定的安全保护作用。
      每个用户模式的进程有其私有的地址空间,这些进程在最低的权限级别Ring3下运行,它们不允许执行CPU的特权指令,对系统所属的数据、地址空间以及硬件等的访问也是被严格限制的,例如,如果某个用户程序访问4G地址空间中的高位2G,那么系统就会立即将其终止执行。要注意的是,进程调用系统功能的时候,可以切换到内核模式执行,但是调用结束后,就返回到用户模式了。
      用户模式的进程总是被认为是对操作系统稳定性的潜在威胁,所以它们的权限被严格地限制,任何触及这些限制的举动都将使进程被终止。
      而内核模式的组件则可以共享这些受保护的内核模式内存空间,在特权级别Ring0下运行,允许执行任何CPU指令,包括特权指令,可以无限制地访问系统数据、代码和硬件资源。
      内核模式代码运行在系统地址空间中,并总是被认为是可信任的,需要说明的是驱动程序一旦被装载运行后,驱动程序就是系统的一部分,可以无限制地做任何事情。 
      总的来说,用户模式程序被完全从操作系统隔离,这对操作系统的完整性来说是件好事情,但对某些种类的应用程序来说就太头痛了,比如Debug工具。幸运地是,这些在用户模式几乎不可能完成的任务完全可以通过内核模式的驱动程序来完成,因为这些驱动程序的操作是不受限制的。因此,如果你打算从用户模式存取操作系统内部的数据结构或者函数的话,唯一的方法就是将一个内核模式驱动程序装载到系统的地址空间中(并调用它),这是很简单的事情,操作系统完全支持这样的操作。这是方便了,而所谓的rootkit也就随之而生了。 
        rootkit在字面上来理解,是拥有“根权限”的工具。实际上,所有的内核代码都拥有根权限,当然,并不一定它们都叫做rootkit,这要看你用它来做什么。 用rootkit技术开发的木马和病毒正在迅速发展,它们往往极难清除,以往杀毒软件可以轻松清除掉系统中病毒的时代似乎已经一去不复返了。
      
    2、隐藏进程  进程查看工具(这里指的是我们通常用,有更好的进程查看工具可以列出被隐藏的进程)是运行在在Ring3级别,也就是说,它们的操作指令全部依赖于内核授权的功能,由于这层机制的存在,我们能看到的进程其实是内核“ 看到”并通过相关接口指令(还记得API吗?)反馈到应用程序的,这样就不可避免的存在一条数据通道,虽然在一般情况下它是难以被篡改的,但是不能避免意外的发生,进程隐藏软件(如Rootkit)正是“制造”这种意外的程序。
      简单的说,Rootkit实质是一种“越权执行”的应用程序,它设法(如:自己开发驱动级专用接口、修改LDT、GDT、IDT)让自己达到和内核一样的运行级别,甚至进入内核空间,这样它就拥有了和内核一样的访问权限,因而可以对内核程序进行修改,最常见的是修改内核枚举进程的API,让它们返回的数据始终“ 遗漏”要隐藏的进程的信息,一般的进程工具自然就“看”不到这些进程了。更高级的Rootkit还篡改更多API,这样,用户就看不到进程(进程API被拦截),看不到文件(文件读写API被拦截),看不到被打开的端口(网络组件Sock API被拦截),更拦截不到相关的网络数据包(网络组件NDIS API被拦截)了,这就是进程被隐藏的原理。
      我们使用的系统是在内核功能支持下运作的,如果内核变得不可信任了,依赖它运行的程序还能信任吗?3、道高一尺,魔高一丈
      既然Rootkit是利用内核和Ring0配合的欺骗,那么我们同样也能使用可以“越权”的检查程序,绕过API提供的数据,直接从内核领域里读取进程列表,因为所有进程在这里都不可能把自己隐藏,除非它已经不想运行了。也就是说,内核始终拥有最真实的进程列表和主宰权,只要能读取这个原始的进程列表,再和进程API枚举的进程列表对比,便能轻易发现被隐藏的进程。
      这类工具现在已经很多,例如Icesword、Patchfinder、gdb等。 
      

  14.   

    一个简单的Demo: http://www.etherdream.com/FunnyScript/WitCube/GCube.html发挥你想象,可以做出很多有趣的东西。
      

  15.   

    http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/14.gif
      

  16.   

    是好方法,真没想到任务管理器也是个EXE