Kill Protected Processes Trong Task Manager nếu bạn dùng chức năng End Process thì bạn chỉ kết thúc được một số Process của các chương trình bình thường. Đối với các Process được bảo vệ như tiến trình của OS hay các trình diệt virus thì bạn không thể kết thúc dễ dàng như thế. Điều này cũng tương tự khi ta dùng hàm API TerminateProcess(). | Kill Protected Processes Trong Task Manager nếu bạn dùng chức năng End Process thì bạn chỉ kết thúc được một số Process của các chương trình bình thường. Đối với các Process được bảo vệ như tiến trình của OS hay các trình diệt virus thì bạn không thể kết thúc dễ dàng như thế. Điều này cũng tương tự khi ta dùng hàm API TerminateProcess . Nguyên lý Một process có thể Kill một Process khác được bảo vệ nếu như process này có đặc quyền DEBUG các process khác sau đó process này có thể dùng hàm API TerminateProcess hProcess 0 Đoạn mã sau dùng để gán quyền DEBUG cho một process Code void GetDebugPriv void HANDLE hToken LUID sedebugnameValue TOKEN_PRiViLEGES tkp if OpenProcessToken GetCurrentProcess TOKEN_ADJUST_PRIVILEGES TOKeN_QUERY hToken return if LookupPrivilegeValue NULL SE_DEBUG_NAME sedebugnameValue CloseHandle hToken return 1 0 .Luid sedebugnameValue o .Attributes sE_PRIVILEGE_ENABLED AdjustTokenPrivileges hToken FALSE tkp sizeof tkp NULL NULL CloseHandle hToken ngoalong HVA