findmy.plist#

Utils for decrypting the encypted .record files into .plist files.

Functions#

get_key(→ bytes)

Get the decryption key for BeaconStore using the system password prompt window.

decrypt_plist(→ dict)

Decrypts the encrypted plist file at encrypted() using the provided key().

list_accessories(→ list[findmy.accessory.FindMyAccessory])

Get all accesories from the encrypted .plist files dumped from the FindMy app.

Module Contents#

findmy.plist.get_key() bytes#

Get the decryption key for BeaconStore using the system password prompt window.

findmy.plist.decrypt_plist(encrypted: str | pathlib.Path | bytes | IO[bytes], key: bytes) dict#

Decrypts the encrypted plist file at encrypted() using the provided key().

Parameters:
  • encrypted – If bytes or IO, the encrypted plist data. If str or Path, the path to the encrypted plist file, which is generally something like /Users/<username>/Library/com.apple.icloud.searchpartyd/OwnedBeacons/<UUID>.record

  • key – Raw key to decrypt plist file with. See: get_key()

Returns:

The decoded plist dict

findmy.plist.list_accessories(*, key: bytes | None = None, search_path: str | pathlib.Path | None = None) list[findmy.accessory.FindMyAccessory]#

Get all accesories from the encrypted .plist files dumped from the FindMy app.