Don't like ads? PRO users don't see any ads ;-)
Guest

protect process from closing with taskmanager

By: a guest on Aug 6th, 2012  |  syntax: PureBasic  |  size: 1.31 KB  |  hits: 28  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. OpenWindow(1,0,0,99,99,"")
  2.  
  3. hWnd = WindowID(1)
  4.  
  5. ;PSECURITY_DESCRIPTOR pSD;
  6. *pACL.ACL
  7. cbACL = 1024;
  8.  
  9. ; Initialize a security descriptor.
  10.  
  11. *pSD.SECURITY_DESCRIPTOR = AllocateMemory(#SECURITY_DESCRIPTOR_MIN_LENGTH)
  12.  
  13. InitializeSecurityDescriptor_(*pSD, #SECURITY_DESCRIPTOR_REVISION)
  14. ; Initialize a DACL.
  15.  
  16. *pACL = AllocateMemory(cbACL);
  17.  
  18. InitializeAcl_(*pACL, cbACL, #ACL_REVISION2)
  19.  
  20. SetSecurityDescriptorDacl_(*pSD, #True,*pACL, #False)
  21.  
  22. #DACL_SECURITY_INFORMATION = 4
  23.  
  24. a = #DACL_SECURITY_INFORMATION
  25.  
  26. #OWNER_SECURITY_INFORMATION    =   $00000001
  27. #GROUP_SECURITY_INFORMATION    =   $00000002
  28. #DACL_SECURITY_INFORMATION     =   $00000004
  29. #SACL_SECURITY_INFORMATION     =   $00000008
  30. #LABEL_SECURITY_INFORMATION    =   $00000010
  31.  
  32. #PROTECTED_DACL_SECURITY_INFORMATION   =  $80000000
  33. #PROTECTED_SACL_SECURITY_INFORMATION   =  $40000000
  34. #UNPROTECTED_DACL_SECURITY_INFORMATION =  $20000000
  35. #UNPROTECTED_SACL_SECURITY_INFORMATION  = $10000000
  36.  
  37. a = #DACL_SECURITY_INFORMATION ;| #PROTECTED_DACL_SECURITY_INFORMATION
  38.  
  39. ;SetFileSecurity_("C:\TEST.TXT",#DACL_SECURITY_INFORMATION, *pSD) ; <-- remove all rights from a certain file
  40.  
  41.  
  42. SetKernelObjectSecurity_(GetCurrentProcess_(), #DACL_SECURITY_INFORMATION, *pSD) ; <-- now you cannot close the process with the task manager
  43.  
  44. Repeat
  45. Until WindowEvent()=#WM_CLOSE