Fixing --tcc_location flag

This commit is contained in:
Karmaz95
2024-11-15 17:43:05 +01:00
parent 1d8edc592d
commit 4479d55754
+13 -3
View File
@@ -3135,6 +3135,9 @@ class TCCProcessor:
if args.tcc_sysadmin: if args.tcc_sysadmin:
snake_instance.printSysAdminFilesStatus() snake_instance.printSysAdminFilesStatus()
if args.tcc_location:
snake_instance.printLocationAccessStatus()
if args.tcc_desktop: if args.tcc_desktop:
snake_instance.printDesktopAccessStatus() snake_instance.printDesktopAccessStatus()
@@ -3159,9 +3162,6 @@ class TCCProcessor:
if args.tcc_microphone: if args.tcc_microphone:
snake_instance.printMicrophoneAccessStatus() snake_instance.printMicrophoneAccessStatus()
if args.tcc_location:
snake_instance.printLocationAccessStatus()
if args.tcc_recording: if args.tcc_recording:
snake_instance.printScreenRecordingAccessStatus() snake_instance.printScreenRecordingAccessStatus()
@@ -3307,6 +3307,16 @@ class SnakeIX(SnakeVIII):
''' Print the System Policy SysAdmin Files access status. ''' ''' Print the System Policy SysAdmin Files access status. '''
print(f"SysAdmin Files Access: {'True' if self.checkSysAdminFilesAccess() else 'False'}") print(f"SysAdmin Files Access: {'True' if self.checkSysAdminFilesAccess() else 'False'}")
def checkLocationAccess(self):
''' Check if the binary has Location Services access by looking for specific permissions. '''
binary_path, bundle_id = self.prepareDataForTCCQuery()
location_permission = self.getLocationPermission(binary_path, bundle_id)
return location_permission.get('Location Services') == 2
def printLocationAccessStatus(self):
''' Print the Location Services access status. '''
print(f"Location Services Access: {'True' if self.checkLocationAccess() else 'False'}")
def checkDesktopAccess(self): def checkDesktopAccess(self):
''' Check if the binary has Desktop Folder access by looking for specific permissions. ''' ''' Check if the binary has Desktop Folder access by looking for specific permissions. '''
return self.parseTCCPermissions().get('kTCCServiceSystemPolicyDesktopFolder') == 2 return self.parseTCCPermissions().get('kTCCServiceSystemPolicyDesktopFolder') == 2