-
-
Save airy10/5205dc851fbd0715fcd7a5cdde25e7c8 to your computer and use it in GitHub Desktop.
// | |
// airtag-decryptor.swift | |
// | |
// Decrypt all beacons files from ~/Library/com.apple.icloud.searchpartyd - updated when FindMy is running | |
// Results in /tmp/com.apple.icloud.searchpartyd - same file hierarchy | |
// | |
// Created by Matus on 28/01/2024. - https://gist.github.com/YeapGuy/f473de53c2a4e8978bc63217359ca1e4 | |
// Modified by Airy | |
// | |
import Cocoa | |
import Foundation | |
import CryptoKit | |
extension URL { | |
var isDirectory: Bool { | |
(try? resourceValues(forKeys: [.isDirectoryKey]))?.isDirectory == true | |
} | |
} | |
// Function to decrypt using AES-GCM | |
func decryptRecordFile(fileURL: URL, key: SymmetricKey) throws -> [String: Any] { | |
// Read data from the file | |
let data = try Data(contentsOf: fileURL) | |
// Convert data to a property list (plist) | |
guard let plist = try PropertyListSerialization.propertyList(from: data, options: [], format: nil) as? [Any] else { | |
throw MyError.invalidFileFormat | |
} | |
// Extract nonce, tag, and ciphertext | |
guard plist.count >= 3, | |
let nonceData = plist[0] as? Data, | |
let tagData = plist[1] as? Data, | |
let ciphertextData = plist[2] as? Data else { | |
throw MyError.invalidPlistFormat | |
} | |
let sealedBox = try AES.GCM.SealedBox(nonce: AES.GCM.Nonce(data: nonceData), ciphertext: ciphertextData, tag: tagData) | |
// Decrypt using AES-GCM | |
let decryptedData = try AES.GCM.open(sealedBox, using: key) | |
// Convert decrypted data to a property list | |
guard let decryptedPlist = try PropertyListSerialization.propertyList(from: decryptedData, options: [], format: nil) as? [String: Any] else { | |
throw MyError.invalidDecryptedData | |
} | |
return decryptedPlist | |
} | |
func decryptDirectory(filePath: String, outputPath: String, key: SymmetricKey) throws { | |
let baseURL = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask).first | |
if let contentURL = baseURL?.appending(path: filePath) { | |
if contentURL.isDirectory { | |
if let urls = try? FileManager.default.contentsOfDirectory(at: contentURL, includingPropertiesForKeys: nil) { | |
for url in urls { | |
let path = (filePath as NSString).appendingPathComponent(url.lastPathComponent) | |
try decryptDirectory(filePath: path, outputPath: outputPath, key: key) | |
} | |
} | |
} else { | |
do { | |
let decryptedPlist = try decryptRecordFile(fileURL: contentURL, key: key) | |
// Save decrypted plist as a file in the current directory | |
let name = contentURL.lastPathComponent as NSString | |
if let outputName = (name.deletingPathExtension as NSString).appendingPathExtension("plist") { | |
let dir = (filePath as NSString).deletingLastPathComponent | |
let outputDirPath = (outputPath as NSString).appendingPathComponent(dir) | |
try FileManager.default.createDirectory(atPath: outputDirPath, withIntermediateDirectories: true) | |
let outputURL = URL(fileURLWithPath: outputDirPath).appending(path: outputName) | |
try PropertyListSerialization.data(fromPropertyList: decryptedPlist, format: .xml, options: 0).write(to: outputURL) | |
} | |
} catch { | |
print("Error:", error) | |
} | |
print(filePath) | |
} | |
} | |
} | |
// -> Hex format key from `security find-generic-password -l 'BeaconStore' -w` | |
let query: [String: Any] = [kSecClass as String: kSecClassGenericPassword, | |
kSecAttrLabel as String: "BeaconStore", | |
kSecMatchLimit as String: kSecMatchLimitOne, | |
kSecReturnAttributes as String: true, | |
kSecReturnData as String: true] | |
var item: CFTypeRef? | |
let status = SecItemCopyMatching(query as CFDictionary, &item) | |
guard status != errSecItemNotFound else { throw MyError.noPassword } | |
guard status == errSecSuccess else { throw MyError.keychainError(status: status) } | |
guard let existingItem = item as? [String : Any] else { throw MyError.invalidItem } | |
if let keyData = existingItem[kSecValueData as String] as? Data { | |
let key = SymmetricKey(data: keyData) | |
let basePath = "com.apple.icloud.searchpartyd" | |
let outputPath = NSTemporaryDirectory() | |
try decryptDirectory(filePath: basePath, outputPath: outputPath, key: key) | |
let resultURL = URL(filePath: basePath, relativeTo: URL(filePath: outputPath)) | |
NSWorkspace.shared.open(resultURL) | |
} | |
enum MyError: Error { | |
case invalidFileFormat | |
case invalidPlistFormat | |
case invalidDecryptedData | |
case noPassword | |
case invalidItem | |
case keychainError(status: OSStatus) | |
} |
Hey
Thanks for sharing.
I'm trying to decode Items.data
, but facing issues.
It would be great if you could take a look.
Thanks!
Excelent! Thank-you!
Hi, i get the "incorrect key size" when running this. I'm running it from inside Xcode 15.0.1 on an M1 Pro Max running macOS 14.1.
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SecureLocationInfo/58A33394-9F73-4426-B821-9B0E8FA1E439.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/AA83AA86-FC18-4118-877C-24E5B66F259B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/80F557C9-48AB-4875-BAAC-83009131A7A9.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/1404D389-7D01-489C-9FFA-4E978ECFD33B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/0ECD7895-89EB-4EA8-909D-1C8D5AB46EAE.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/031816DE-CC85-4DD1-B0B0-CD86EDA4605B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/0462F6D6-55AA-409D-A37D-8AC251BC471B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/F240B235-0B4B-4A84-BC04-16015BE6B035.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/EDF7E39A-7C5B-42AD-B49E-33848794012C.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/30D6E08F-1602-493E-B72A-6516803F7E5E.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/6FB3EDB5-FF95-4A0D-B5FF-B2B9A730A1F0.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnedBeacons/31549E5F-52EC-4074-9826-008536065C56.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/KeySyncRecord/6FB3EDB5-FF95-4A0D-B5FF-B2B9A730A1F0.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnerSharingCircle/E6D0B214-AB77-44CE-8780-8C931B9F057B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnerSharingCircle/88037702-5318-48E9-B356-F4717839CB26.record
Error: invalidPlistFormat
com.apple.icloud.searchpartyd/BeaconObservationStore/observations.plist
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/31549E5F-52EC-4074-9826-008536065C56/2EFBB0E8-726B-49A0-A9A0-2B63081DD44C.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/0ECD7895-89EB-4EA8-909D-1C8D5AB46EAE/E4560830-DB33-4CD5-B47D-BB38798EB4FA.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/BAC2425F-00FD-49D4-BE3F-BB81262EFDF7.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/AA83AA86-FC18-4118-877C-24E5B66F259B/7A4EA691-9383-4D6E-B792-40BC3737C31F.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/F240B235-0B4B-4A84-BC04-16015BE6B035/54209D5D-4718-40B5-9DDF-71B9A663E6BD.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/EDF7E39A-7C5B-42AD-B49E-33848794012C/B7CB44C5-1266-4E52-B6C6-4314DFE5E8ED.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/30D6E08F-1602-493E-B72A-6516803F7E5E/3B1590F3-31A7-45FB-A525-13756F099D38.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/0462F6D6-55AA-409D-A37D-8AC251BC471B/496DB7FD-339C-45C0-9FE5-9A1E24975062.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/80F557C9-48AB-4875-BAAC-83009131A7A9/B0794B3A-2DEE-4BB7-BBDC-40931D7D7A02.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconNamingRecord/1404D389-7D01-489C-9FFA-4E978ECFD33B/4825B52A-B19B-4B99-8640-6DE739582E1E.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/CEA1DD29-9C28-4039-8C49-F9F2F61411B9.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/0142374D-E495-4B25-851D-BE2F7A6A68A8.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/D8F59905-6842-4420-84C2-387BFE0B76F5.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/10616F09-DB3E-443B-A1FA-CC375D6CAA63.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/2E41E8C7-DB3C-436E-AC01-CA1C4607F0E6.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/B05E2464-CA57-497D-B52F-62320CD4DD1D.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/611B73C4-282D-45F0-B532-ABC7387E62DA.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/EF9105EF-52EC-4F53-9B47-DA4EDB4487E6.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/6FD17D17-E73E-434E-94B0-6297E36576B5.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/82F9148B-2EB6-47A1-A052-F815A30D216D.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/48B496EF-0E8A-4097-BA13-35B6EEB79CD7.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/4FF0633E-04BF-44EC-BA24-1608EDB63C37.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/AC7E103D-1F47-43F0-A8D0-991ABF82DDDF.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/85E3ED86-C274-47BC-8CAB-38DAB4C37EEA.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/0B8FA7B4-D7A9-4713-AADA-1A92E571842A.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/B1A17EAA-12B0-45BA-A4A8-F96223C3BE03.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/76FC90ED-BCB7-47F2-9CCD-F195AA882FA5.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/C02C39FD-7C1C-4E3C-8111-600D6E2F228B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/08345064-7D3A-4B3B-8420-08378AC50180.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/AB24BB5C-6CB4-4292-93C4-E86495E26979.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/84686F82-96D9-43FF-BEE7-A04AEBB78851.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/9D851D55-0736-4550-A6E5-F3DFDB2C16C1.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/374A3334-AA22-4A81-9C74-8D0048BB6246.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/F240B235-0B4B-4A84-BC04-16015BE6B035/58F84CEC-99C8-4629-B43B-2FF5A6FF308E.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/27716003-BB03-4CC8-8083-E67E0E2D049A.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/C3FCDCCF-49B4-4AE6-B201-FC2348651E06.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/9A0A68AF-5A44-423C-A7B2-9AB7069CC513.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/D488138F-7ED8-4E5C-BA35-D2BBB79A7C7A.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/8A8EBE85-C381-4F95-A9E7-84AC983CC4FE.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/7E971A0A-A902-4861-A8BD-C34D33FB34CC.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/026F9531-4D31-4952-83B6-EA74AD705E72.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/0C52E99F-974A-4361-8EA9-7BE8F84F6363.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/6F210CB4-DEFD-4888-B797-F783AE534384.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/EEE45DBA-94A2-416F-94C2-7BFA09EA9848.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/CB340237-9181-47A4-93BB-BB4C8ECEC587.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/EDF7E39A-7C5B-42AD-B49E-33848794012C/BEEEC166-774A-4AA3-A91C-B95F4BE485BE.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/9F79671B-AAE8-4B33-9D7C-33C9E055D5B7.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/048A6985-254F-40CA-B2A3-85C76319B236.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/A23E0292-E9ED-4D7F-A92C-B36647196B21.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/3CF9C5A5-9829-4943-BF9F-EDFF06058FC5.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/C56EBCFA-15B6-4EEB-BF54-F646A37A1B6D.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/A93B278F-6867-4450-9B41-C229DBD45858.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/6228BEAC-23C0-4A29-886C-033C735B2156.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/69DE1012-9191-4118-B9A0-18E9372510BC.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/A538A235-425F-4A14-A53B-F437B3AE5B64.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/F11B7EAC-E6A6-47B9-9137-CD4995B44DB5.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/30D6E08F-1602-493E-B72A-6516803F7E5E/CFC0C9E3-461E-495F-AB86-E999C20D3E2D.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/2996C784-2D61-4006-A63A-D281E37B87AB.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/FCA2A121-0D84-41A5-9740-0743A8564B0B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/9A33D70B-FFD2-40A4-8798-457776A4BC77.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/0393FEE6-0700-4214-B69B-AF2141A77607.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/C84FBECD-D460-4229-83C1-0C9E35D5AC16.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/F89867B3-D929-4EF3-8E62-40E80F355A99.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/38F55D7E-EC62-48F9-8EC9-2431D0B8E3EB.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/EDCF2181-4149-46FF-A79A-B740756CD7B6.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/2D0DB661-BABC-430E-A853-579C1803C172.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/3574734B-9CB9-4696-8485-D0A8EBA4C0A8.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/4DEEA314-7146-4096-B043-12D8FEC69565.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/772F6091-78A2-40F3-BC5C-0A9F34CDD5AE.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/A978AF6F-D48B-4A0A-8797-A4BAB8402522.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/0462F6D6-55AA-409D-A37D-8AC251BC471B/F02017DA-B1BB-46E4-A845-5CECC8CCBC9D.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/CC93BEC8-40F6-40AF-B46A-695AE02CC181.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/103CAF11-40DB-4904-9B9F-B33AE48BC8DB.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/5F1073B7-5986-4E7C-BD22-06A6347F002B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/01306F7E-DE4B-469A-87B4-C0C1952E4066.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/A5D6915B-7BDF-4193-A3D3-4ACF0B93E0EF.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/CBF0ED54-BDD8-4CFC-8F8F-C82EDA4EA811.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/EA806012-967F-4A27-BE12-BD131CCFED20.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/431FCD35-0CE3-45C4-AED7-61363DC83194.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/5A80A872-B903-41F3-9C3F-79182124B3AE.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/6C962C13-0A92-4054-97DA-EE5220F2D4B5.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/00F25245-0638-48C5-86D9-1454AFDAB152.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/E1732417-C2E0-4642-B3AF-6F4BFE57E716.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/9DED7464-92F7-4A72-915F-C508A6796FB1.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/D985DD2F-647C-482B-A8FD-F5221882E0A0.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconEstimatedLocation/80F557C9-48AB-4875-BAAC-83009131A7A9/4EFF74A4-0FB5-4FA9-84F7-008ED54FE89C.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/88037702-5318-48E9-B356-F4717839CB26/29893B65-136E-452D-AEAB-917CE8367708.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/88037702-5318-48E9-B356-F4717839CB26/671ECBC3-AD90-4F1D-B004-F6FBC107C9E4.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/88037702-5318-48E9-B356-F4717839CB26/3C3CCFDD-5BDC-4F99-A083-44EAC599171C.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/88037702-5318-48E9-B356-F4717839CB26/0CBDD430-1C2D-412E-A484-43692CDAFAE2.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/88037702-5318-48E9-B356-F4717839CB26/0C919BFA-4478-4397-9070-5057D981F704.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/E6D0B214-AB77-44CE-8780-8C931B9F057B/4D491EA0-4CAF-4CB2-B18C-6D0DB4E173B3.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/E6D0B214-AB77-44CE-8780-8C931B9F057B/5068736A-A6CF-4CE8-9F3C-88EC2083E64D.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/E6D0B214-AB77-44CE-8780-8C931B9F057B/C407E8ED-A0AE-4EA1-9660-65FBCAC1EB95.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/E6D0B214-AB77-44CE-8780-8C931B9F057B/E4B89BDE-B013-4B7F-9D2C-B97ACBF8F14C.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SharingCircleSecret/E6D0B214-AB77-44CE-8780-8C931B9F057B/AB8C42E3-43F5-444B-BDD5-3C50460E9C66.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/CKTokens/Database/Private.token
Error: incorrectKeySize
com.apple.icloud.searchpartyd/CKTokens/Zone/Private/__defaultOwner__/BeaconStore.token
Error: incorrectKeySize
com.apple.icloud.searchpartyd/BeaconProductInfoRecord/0462F6D6-55AA-409D-A37D-8AC251BC471B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/KeyAlignmentRecords/031816DE-CC85-4DD1-B0B0-CD86EDA4605B/42711BFE-7F09-4ADD-8B48-C9838740ECDC.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/KeyAlignmentRecords/EDF7E39A-7C5B-42AD-B49E-33848794012C/7DF6FF5C-EDC2-4DF0-8C7B-84050D9E1EEE.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/KeyAlignmentRecords/6FB3EDB5-FF95-4A0D-B5FF-B2B9A730A1F0/ECBC09DA-1905-4B0F-ABEF-0AB02B7B0AD3.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/KeyAlignmentRecords/0462F6D6-55AA-409D-A37D-8AC251BC471B/7F3E11BB-D161-4A1C-B271-84ECFCB48A6B.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/KeyAlignmentRecords/80F557C9-48AB-4875-BAAC-83009131A7A9/96F70579-606F-4C60-8D54-E127D847878D.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/OwnerPeerTrust/982A2548-AA03-4623-976C-87BF2E0C53E5.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SafeLocations/107A940A-D632-4722-B903-B8D5E9485755.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SafeLocations/928B62AA-3907-42B7-90F2-7C0F23CA25A0.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/SafeLocations/1B63A50B-9BD7-426E-8E87-C2EFFEC327F4.record
Error: incorrectKeySize
com.apple.icloud.searchpartyd/LeashRecords/25FC267E-44F1-483D-AEE0-60AA14C8C4D2.record
Program ended with exit code: 0
Is there only one private/public key in the .plist file? I thought there should be plenty of private/public keys due to "key rotation" mechanism.
Key rotation needs to be done from these initial keys
I'm trying to run this on macOS 26 (Tahoe), and I'm getting the following error message:
Swift/ErrorType.swift:254: Fatal error: Error raised at top level: main.MyError.noPassword
fish: Job 1, './airtag-decryptor' terminated by signal SIGTRAP (Trace or breakpoint trap)
Currently incompatible with Sequoia+ - Apple has limited access to the password needed to decrypt the FindMy files
Aha - this is even if you disable SIP, right? (I tested this with SIP temporarily disabled).
That's not enough - not tested but you might try that : https://github.com/Pnut-GGG/FMIPDataManager-extractor
The missing part should be :
sudo nvram boot-args="amfi_get_out_of_my_way=1"
Hi, I'm trying to import my OEM airtags into OpenHaystack (my real end-goal is logging positions because I have a stolen item that I'm trying to keep track of for authorities), but while it seems I need to use this (and I'm on OS 14.5 so it still works), I get a bunch of terminal output but no results in /tmp/, and I don't know what I need to do. I did download and install xcode and allow the permissions it needed, and formed an executable with swiftc and did chmod +x, but t hen I get a bunch of UUIDs in various folders and do not know what to do with it.
Any assistance is appreciated.
(updated to directly query the keychain without launching some external command)