-
Notifications
You must be signed in to change notification settings - Fork 45
Description
I love this project! Sadly Apple has broken it.
After macOS 14.4 if you try to use this you get:
➜ python3 main.py
Traceback (most recent call last):
File "main.py", line 101, in <module>
log_devices()
File "main.py", line 77, in log_devices
log_manager.refresh_log()
File "FindMyHistory/lib/log_manager.py", line 85, in refresh_log
items_dict = self._get_items_dict()
File "FindMyHistory/lib/log_manager.py", line 62, in _get_items_dict
raise RuntimeError(f'No devices found. Please check if Full Disk '
RuntimeError: No devices found. Please check if Full Disk Access has been granted to Terminal.This error message is wrong though. What's really happening is that on this line it attempts to JSON decode the various Find My data files. These files used to be simple JSON but now they're binary plists. The JSON decoding fails but due the the except: pass this is obscured.
The plist just contains two top level keys though:
➜ plutil -p ~/Library/Caches/com.apple.findmy.fmipcore/Items.data
{
"encryptedData" => {length = 61896, bytes = 0xb50493ba 7e054275 1fa896df 9cded496 ... c08ecb8f d5c2ae14 }
"signature" => {length = 64, bytes = 0xed484943 9543a6dd 6625eff6 35e5ce75 ... dc120970 a073a7b6 }
}So the data is now encrypted on disk. I search around in Keychain for possible decryption keys but couldn't find anything obvious. I should have looked specifically for key Keychain entries created after the upgrade.
I imagine that if we can get this data decrypted we'll this project will still be pretty useful. Anyone have leads on decrypting this? Hopefully there's just some Keychain key somewhere we can use.