home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2482 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  2.9 KB  |  54 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import win32security
  5. import win32api
  6. import win32con
  7. import win32process
  8. new_privs = ((win32security.LookupPrivilegeValue('', win32security.SE_SECURITY_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_TCB_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_SHUTDOWN_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_RESTORE_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_TAKE_OWNERSHIP_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_CREATE_PERMANENT_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_ENABLE_DELEGATION_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_CHANGE_NOTIFY_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_DEBUG_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_PROF_SINGLE_PROCESS_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_SYSTEM_PROFILE_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', win32security.SE_LOCK_MEMORY_NAME), win32con.SE_PRIVILEGE_ENABLED))
  9. all_info = win32security.OWNER_SECURITY_INFORMATION | win32security.GROUP_SECURITY_INFORMATION | win32security.DACL_SECURITY_INFORMATION | win32security.SACL_SECURITY_INFORMATION
  10. pid = win32api.GetCurrentProcessId()
  11. ph = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, 0, pid)
  12. th = win32security.OpenProcessToken(ph, win32security.TOKEN_ALL_ACCESS)
  13. old_privs = win32security.AdjustTokenPrivileges(th, 0, new_privs)
  14. my_sid = win32security.GetTokenInformation(th, win32security.TokenUser)[0]
  15. pwr_sid = win32security.LookupAccountName('', 'Power Users')[0]
  16. ph = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS | win32con.ACCESS_SYSTEM_SECURITY, 0, pid)
  17. sd = win32security.GetKernelObjectSecurity(ph, all_info)
  18. dacl = sd.GetSecurityDescriptorDacl()
  19. if dacl is None:
  20.     dacl = win32security.ACL()
  21.  
  22. sacl = sd.GetSecurityDescriptorSacl()
  23. if sacl is None:
  24.     sacl = win32security.ACL()
  25.  
  26. dacl_ace_cnt = dacl.GetAceCount()
  27. sacl_ace_cnt = sacl.GetAceCount()
  28. dacl.AddAccessAllowedAce(dacl.GetAclRevision(), win32con.ACCESS_SYSTEM_SECURITY | win32con.WRITE_DAC, my_sid)
  29. sacl.AddAuditAccessAce(sacl.GetAclRevision(), win32con.GENERIC_ALL, my_sid, 1, 1)
  30. sd.SetSecurityDescriptorDacl(1, dacl, 0)
  31. sd.SetSecurityDescriptorSacl(1, sacl, 0)
  32. sd.SetSecurityDescriptorGroup(pwr_sid, 0)
  33. sd.SetSecurityDescriptorOwner(pwr_sid, 0)
  34. win32security.SetKernelObjectSecurity(ph, all_info, sd)
  35. new_sd = win32security.GetKernelObjectSecurity(ph, all_info)
  36. if new_sd.GetSecurityDescriptorDacl().GetAceCount() != dacl_ace_cnt + 1:
  37.     print 'New dacl doesnt contain extra ace ????'
  38.  
  39. if new_sd.GetSecurityDescriptorSacl().GetAceCount() != sacl_ace_cnt + 1:
  40.     print 'New Sacl doesnt contain extra ace ????'
  41.  
  42. if win32security.LookupAccountSid('', new_sd.GetSecurityDescriptorOwner())[0] != 'Power Users':
  43.     print 'Owner not successfully set to Power Users !!!!!'
  44.  
  45. if win32security.LookupAccountSid('', new_sd.GetSecurityDescriptorGroup())[0] != 'Power Users':
  46.     print 'Group not successfully set to Power Users !!!!!'
  47.  
  48. sd.SetSecurityDescriptorSacl(0, None, 0)
  49. win32security.SetKernelObjectSecurity(ph, win32security.SACL_SECURITY_INFORMATION, sd)
  50. new_sd_1 = win32security.GetKernelObjectSecurity(ph, win32security.SACL_SECURITY_INFORMATION)
  51. if new_sd_1.GetSecurityDescriptorSacl() is not None:
  52.     print 'Unable to set Sacl to NULL !!!!!!!!'
  53.  
  54.