上课机房有几个大毒 关闭掉 删不完 已删除 又建一个
于是用
function EnableDebugPrivilege: Boolean;
function EnablePrivilege(hToken: Cardinal; PrivName: string; bEnable: Boolean): Boolean;
var
   TP: TOKEN_PRIVILEGES;
   Dummy: Cardinal;
begin
   TP.PrivilegeCount := 1;
   LookupPrivilegevalue(nil, pchar(PrivName), TP.Privileges[0].Luid);
   if bEnable then
     TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
   else TP.Privileges[0].Attributes := 0;
   AdjustTokenPrivileges(hToken, False, TP, SizeOf(TP), nil, Dummy);
   Result := GetLastError = ERROR_SUCCESS;
end;
var
hToken: Cardinal;
    begin
    OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
    if EnablePrivilege(hToken, 'SeDebugPrivilege', True) then //ShowMessage('OK');
    CloseHandle(hToken);
    end;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;EnableDebugPrivilege;KillTask('serverx.exe');DeleteFile('C:\windows\serverx.exe');知道的教我一下 

解决方案 »

  1.   

    movefileex,重启之后删除
    问题是有些病毒有几个进程守护,还有自启动项等等,这些东西都不好对付啊……
      

  2.   

    NT内核的操作NT4.0,2000,XP,2003,Vista,Win7下适用,并且必须是NTFS文件格式
    对确定为木马的文件,设置权限,让任何人都不能访问,所有文件设置完之后,重新启动计算机,
    然后在把权限改回来,删除之,通常情况能起作用,需要管理员权限,
    写程序来完成的话,需要用以下几个API函数SetEntriesInAcl,GetNamedSecurityInfo,BuildExplicitAccessWithName,SetNamedSecurityInfo,LocalFree,
    清除权限后,设置 EveryOne,用dwAccessMask=0来设置权限,就行了
      

  3.   

    谢谢大家了啊!   我已经知道了  
    用IRP驱动连接删除 ,就像XT一样,很暴力的行为。    呵呵
      

  4.   

    一般都是提升寫其權限或得到進程pid\vid結束進程