From 4479d55754598e0d6d48f554dfeb9fffe91fad34 Mon Sep 17 00:00:00 2001 From: Karmaz95 Date: Fri, 15 Nov 2024 17:43:05 +0100 Subject: [PATCH] Fixing --tcc_location flag --- IX. TCC/python/CrimsonUroboros.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/IX. TCC/python/CrimsonUroboros.py b/IX. TCC/python/CrimsonUroboros.py index 7cf2b62..e03f7b8 100755 --- a/IX. TCC/python/CrimsonUroboros.py +++ b/IX. TCC/python/CrimsonUroboros.py @@ -3135,6 +3135,9 @@ class TCCProcessor: if args.tcc_sysadmin: snake_instance.printSysAdminFilesStatus() + if args.tcc_location: + snake_instance.printLocationAccessStatus() + if args.tcc_desktop: snake_instance.printDesktopAccessStatus() @@ -3159,9 +3162,6 @@ class TCCProcessor: if args.tcc_microphone: snake_instance.printMicrophoneAccessStatus() - if args.tcc_location: - snake_instance.printLocationAccessStatus() - if args.tcc_recording: snake_instance.printScreenRecordingAccessStatus() @@ -3307,6 +3307,16 @@ class SnakeIX(SnakeVIII): ''' Print the System Policy SysAdmin Files access status. ''' 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): ''' Check if the binary has Desktop Folder access by looking for specific permissions. ''' return self.parseTCCPermissions().get('kTCCServiceSystemPolicyDesktopFolder') == 2