对瑞星自保的改进建议!!!

一、瑞星现在的不足!!!


1、使用 FindWindow 的方法,然后想窗口发送 WM_CLOSE 的消息,窗口被干掉  如 瑞星主程序


2、找到进程的线程, PostThreadMessage 发送 WM_QUIT 消息结束主线程


3、内存清零大法  瑞星的进程扛不住 清零啊!!!


4、OpenThread ---> TerminateThread,打开线程  结束线程!!!


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


1、用驱动patch了它的保护的PID值,


  用ZwTerminateProcess干掉瑞星




2、PsLookupProcessByProcessId    ObOpenObjectByPointer  干掉瑞星




3、作业方式终止


    ZwOpenProcess------->ZwCreateJobObject------>ZwAssignProcessToJobObject--------->ZwTerminateJobObject




三、阻止枚举瑞星进程


      killvxk的驱动查进程:


      1.native api获得进程表a


      2.通过activelist获得进程表b


      3.通过pspCidTable获得进程表c


      4.通过handletablelisthead获得进程表d


      5.通过csrss的handletable用2种方法枚举获得进程表e和f


      6.通过扫描当前进程的handletable获得进程表g


      7.遍历表c的每一个进程的SessionProcessLinks获得进程表h


      8.遍历表c的每一个进程Vm.WorkingSetExpansionLinks获得进程表i


      9.通过Typelist分别取process和thread的表j和表k


      10.通过表k得到进程表l


      11.搜索内存中的threadobject和processobject得到进程表m


      12.通过Wait/Dispatch得到进程表n


      13.如果系统是Win2003以上遍历表c的每一个进程的MmProcessLinks得到表o


      14.综合上面的进程表得到表p


      15.对表p每一个进程做HandleTable,Vm.WorkXX,MmProcessXX,SessionProcessList扫描得到表q


      16.枚举HWNDHandle得到进程表r


      17.枚举JobObject得到表s


      18.综合得表t,此时枚举结束~~




详细解释请参考:::    http://hi.baidu.com/killvxk












1、利用.RemoteExitProcess,  以 PROCESS_CREATE_THREAD|VM_OPERATION方式打开进程,然后创建个远程线程,线程开始地址是 ExitProcess 参数0 ,程序自行了断.


2、wQuerySystemInformation 这个可以获得整个系统中所有的句柄信息,我们可以全部找出来,然后判断哪些句柄是属于 CrackMeApp进程的,并且ObjectTypeNumber类型为文件类型的.关于这个的具体实现可以看我的实现代码.


typedef struct _SYSTEM_HANDLE_INFORMATION { // Information Class 16
  ULONG ProcessId;
  UCHAR ObjectTypeNumber;
  UCHAR Flags;  // 0x01 = PROTECT_FROM_CLOSE, 0x02 = INHERIT
  USHORT Handle;
  PVOID Object;
  ACCESS_MASK GrantedAccess;
} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;


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






四、进程保护的思路:::




1、HOOK    ZWOpenProcess    /    ObReferenceObjectByHandle   




参考:http://hi.baidu.com/%C3%F7%ED%F8%B5%C4%D0%C4/blog/item/6a4486f8a5c82d51242df253.html






2、 HOOK hook        KiInsertQueueApc  /    KeInsertQueueApc  防插  apc






3、 kernel apc disable




4、 抹去PspCidTable




5、 thread terminated




6、 thread cross thread flags













用户系统信息:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.33 Safari/534.3 SE 2.X MetaSr 1.0