findmy.plist#

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

Originally from: Author: Shane B. <shane@wander.dev> in parawanderer/OpenTagViewer which was based on: Based on: https://gist.github.com/airy10/5205dc851fbd0715fcd7a5cdde25e7c8

Attributes#

Functions#

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.logger#
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.