有一应用程序,运行后隐藏进程,任务管理器中无法列出该进程,用别的软件可以查到该进程,是隐藏进程,请问如何列出他,并将该进程删除????

解决方案 »

  1.   

    首先你所说的别的软件是指什么软件?IceSword?还有你的操作系统是那个版的?
      

  2.   

    别的软件是指SREng 2.5, 操作系统是xp sp2.
    楼上仁兄,rootkit unlocker 是杀毒用的工具吧?我不需要现成的软件,只是想知道如何将隐藏的进程枚举出来并可以kill掉
      

  3.   

    呵呵,楼主想Kill掉这process,但我却想知道怎么才能将进程隐藏,哎。。网上代码好像都是同一篇帖子的转载,但似乎不能实现应有的效果。
      

  4.   

    C编写DDK驱动,访问系统核心区的线程调度列表
      

  5.   

    用Windows优化大师的进程管理器就可以Kill
      

  6.   

    uses TLHELP32function TForm1.FindProcess(AFileName: string): boolean; 
    var 
    hSnapshot: THandle;//用于获得进程列表 
    lppe: TProcessEntry32;//用于查找进程 
    Found: Boolean;//用于判断进程遍历是否完成 
    begin 
    Result :=False; 
    hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);//获得系统进程列表 
    lppe.dwSize := SizeOf(TProcessEntry32);//在调用Process32First API之前,需要初始化lppe记录的大小 
    Found := Process32First(hSnapshot, lppe);//将进程列表的第一个进程信息读入ppe记录中 
    while Found do 
    begin 
      if ((UpperCase(ExtractFileName(lppe.szExeFile))=UpperCase(AFileName)) or (UpperCase(lppe.szExeFile )=UpperCase(AFileName))) then 
      begin 
        Result :=True; 
      end; 
      Found := Process32Next(hSnapshot, lppe);//将进程列表的下一个进程信息读入lppe记录中 
    end; 
    end;//------------------再给你一个Kill进程的吧
    uses TLHelp32;
    function KillTask(ExeFileName: string): Integer;
    const
      PROCESS_TERMINATE = $0001;
    var
      ContinueLoop: BOOL;
      FSnapshotHandle: THandle;
      FProcessEntry32: TProcessEntry32;
    begin
      Result := 0;
      FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
      FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
      ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);  while Integer(ContinueLoop) <> 0 do
      begin
        if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
          UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
          UpperCase(ExeFileName))) then
          Result := Integer(TerminateProcess(
            OpenProcess(PROCESS_TERMINATE,
            BOOL(0),
            FProcessEntry32.th32ProcessID),
            0));
        ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
      end;
      CloseHandle(FSnapshotHandle);
    end;
      

  7.   

    用任务管理器查不出来一定是用了API HOOK,想办法破API HOOK吧