FindMy Flipper – AirTag- und SmartTag-Emulator
(github.com/MatthewKuKanich)- FindMy Flipper ist eine App, die die Bluetooth-Funktionen des FlipperZero erweitert, sodass er wie ein Apple AirTag, Samsung SmartTag oder Tile Tracker funktioniert
- Sie sendet SmartTag-Signale über die BLE-Beacons des FlipperZero und kann vorhandene Tags klonen oder ein OpenHaystack-Schlüsselpaar erzeugen, um sich in das Apple-FindMy-Netzwerk zu integrieren
- Beim Klonen vorhandener Tags können MAC-Adresse und Payload von AirTag, Samsung SmartTag und Tile Tracker übernommen und mit nativen Apps verfolgt werden, bei AirTag kann sich jedoch nach dem Wiedereinsetzen der Batterie der Schlüssel drehen, wodurch der aktuelle Schlüssel des Flipper ungültig werden kann
- Das Erzeugen von AirTag-Schlüsseln ist auch ohne echtes AirTag oder Apple-Gerät möglich, erfordert aber Docker Desktop, Python und Git und verwendet zur Abfrage von Positionsdaten einen Computer mit Apple-ID-Authentifizierung
- Die App unterstützt Hintergrundausführung sowie die Anpassung von Beacon-Intervall und Sendeleistung; Nutzer sollten die Datenschutzgesetze zu Tracking-Geräten und das Eigentum am ursprünglichen Gerät respektieren
Eine App, um den FlipperZero wie einen Tracking-Tag zu verwenden
- FindMy Flipper lässt den FlipperZero Apple AirTag, Samsung SmartTag und Tile Tracker emulieren
- Mithilfe der BLE-Beacons des FlipperZero werden SmartTag-Signale ausgesendet, die im FindMy Network erkannt werden können
- Zu den Ziel-Funktionen gehören:
- Vorhandene Apple AirTag, Samsung SmartTag und Tile Tracker auf den FlipperZero klonen
- Ein OpenHaystack-Schlüsselpaar für das FindMy-Netzwerk ohne echtes AirTag erzeugen
- Den Standort des FlipperZero fortlaufend verfolgen
Hauptfunktionen
-
Tag-Emulation
- Die MAC-Adresse und Payload eines vorhandenen Tags können geklont werden
- Auch ohne ein echtes AirTag lässt sich ein Schlüsselpaar für das FindMy-Netzwerk erzeugen
-
Nutzeranpassung
- Das Intervall der Beacon-Aussendungen kann angepasst werden
- Die Sendeleistung kann geändert werden, um zwischen Sichtbarkeit und Batterielaufzeit abzuwägen
-
Hintergrundbetrieb
- Die App ist für die Ausführung im Hintergrund optimiert
- Sie ist so ausgelegt, dass die Verfolgung mit niedrigem Batterieverbrauch erhalten bleibt, ohne die normale Nutzung des FlipperZero zu stoppen
Installationsarten
- Die Installation ist auf zwei Arten möglich:
- Verwendung eines Release-/vorkompilierten FAP-Firmware-Builds passend zum Gerät
- Firmware direkt mit
fbt/ufbtbauen
- Derzeit sollten alle Firmwares einschließlich Icons auf dem main-Branch funktionieren
Methoden zum Beschaffen von SmartTag-Daten
- Es gibt zwei Möglichkeiten, Daten für die Tag-Emulation zu beschaffen:
-
Option A: Vorhandenen Tag klonen
- Option B: AirTag-Schlüssel erzeugen
-
-
Option A: Vorhandenen Tag klonen
- Das Klonen eines vorhandenen Tags ist die bevorzugte Methode und erlaubt Tracking ohne zusätzliche Einrichtung
- Apple-, Samsung- und Tile-Tags können durch Übernahme der MAC-Adresse und Payload des echten Tags verwendet werden
- Diese Methode ermöglicht Tracking über native Apps wie Apple FindMy, Samsung SmartThings und die Tile App
- Das grundlegende Verfahren ist wie folgt:
- AirTag, Samsung SmartTag oder Tile Tracker zuerst mit einem Gerät koppeln
- Das Tag auf dem registrierten Gerät etwa 15 Minuten lang entfernt lassen, damit es in den Lost-Modus wechselt
- Android mit nrfConnect oder ein ESP32 verwenden
- Für nrfConnect wird die Android-Version empfohlen, da die Apple-Version die benötigten Rohdaten nicht anzeigt
- Mit einem ESP32-WROOM oder ESP32-S3 lassen sich die nötigen Daten auch ohne Android beschaffen
- Als passendes Werkzeug kann ESP32-AirTag-Scanner verwendet werden
- Das Scan-Verfahren umfasst das Herausfiltern aller nicht zur Tag-Marke gehörenden Einträge und das Setzen des RSSI auf -40 dBm, danach wird gewartet, bis der SmartTag als „FindMy“-Gerät erscheint
- Unmittelbar nach dem Erfassen von Payload und MAC-Adresse muss die Batterie des Tags entfernt werden
- Wird die Batterie wieder in das AirTag eingesetzt, kann Apple den Schlüssel auf den Servern rotieren lassen
- Wenn der Schlüssel rotiert, wird der aktuelle Schlüssel des Flipper ungültig
- Um ihn weiter mit dem Flipper zu verwenden, muss das AirTag ausgeschaltet bleiben oder die Batterie entfernt werden
- AirTag und Flipper können nicht gleichzeitig verwendet werden; bei Bedarf kann der Vorgang wiederholt werden, um die Flipper-Funktion wiederherzustellen
- Die erfasste Payload und MAC Address werden in die FlipperZero-App eingegeben
-
Option B: AirTag-Schlüssel erzeugen
- Das Erzeugen von AirTag-Schlüsseln ist eine Methode, um ein AirTag ohne Apple-Gerät oder AirTag zu emulieren
- Diese Methode arbeitet über Schlüsselgenerierung und erfordert einen Computer, um Positionsdaten herunterzuladen
- Benötigte Komponenten sind:
- Docker Desktop
- Python
- Git
- Nach dem Klonen des Repositorys wird im Ordner
AirTagGenerationgearbeitet
git clone https://github.com/MatthewKuKanich/FindMyFlipper.git cd AirTagGeneration- Nach dem Start von Docker Desktop wird der Server mit folgendem Befehl eingerichtet
docker run -d --restart always --name anisette-v3 -p 6969:6969 dadoum/anisette-v3-server:latest- Dieser Server emuliert eine Umgebung, die den Apple-Authentifizierungsserver täuscht
- Eine Python-Virtual-Environment erstellen und aktivieren, dann die Abhängigkeiten installieren
python3 -m venv venv pip3 install -r requirements.txtgenerate_keys.pyerzeugt die für AirTag erforderlichen Schlüssel und speichert sie in einem neuen Ordnerkeys- Die erzeugte
.keys-Datei kann auf den FlipperZero übertragen und in der App importiert werden - Im Config-Menü der App „register tag“ auswählen
- Tag-Typ auswählen
.keysoder.txtimportieren oder manuell eingeben- Bei manueller Eingabe nacheinander MAC und Payload eingeben
- Zum Registrieren auf Speichern drücken
request_reports.pyfragt mit Apple-ID- und Passwort-Authentifizierung Positionsdaten in Echtzeit ab- Apple-Anmeldedaten werden in einer Auth-Datei gespeichert, sodass sie später nicht erneut eingegeben werden müssen
RequestReport&Map.pyzeigt die Positionsdaten der letzten 24 Stunden auf einer interaktiven Karte an- Es fordert Positionsberichte mit dem gehashten Werbeschlüssel aus dem Ordner
keysan - Es entschlüsselt die Daten mit dem privaten Schlüssel aus derselben
.keys-Datei - Es zeigt die entschlüsselten Daten im Terminal an
- Es markiert die Koordinaten auf der Karte und verbindet die Bewegungsroute
- Es zeigt Positionsmetadaten an und speichert sie als HTML-Datei mit dem Berichtsdatenamen
Einrichtung und Anpassung der FlipperZero-App
- Nach dem Start der App können im Config-Menü
Import Tag From FileoderRegister Tag Manuallyverwendet werden - Für
.keys-Dateien ist ein Ablauf vorgesehen, bei dem sie auf der FlipperZero-SD-Karte im Ordnerapps_data->findmyoderAppsData/FindMyFlipperabgelegt und dann importiert werden - Auch in nrfConnect gespeicherte
.txt-Dateien können in denselben Ordner gelegt und importiert werden - Anpassbare Elemente sind:
- Beacon Interval: passt an, wie häufig der FlipperZero seine Präsenz sendet
- Transmit Power: passt die Signalstärke an, um Tracking-Reichweite und Batterielaufzeit auszubalancieren
Kompatibilität, Alternativen und Verantwortung
- Kompatibel sind:
- Apple-Geräte zur AirTag-Verfolgung über das FindMy-Netzwerk
- Geräte und Webbrowser mit Unterstützung für Samsung-SmartTag-Tracking
- Tile Tracker über die Tile App
- Für Tracking mit OpenHaystack ist macOS unter 14 erforderlich
- Unter macOS 14 und höher gibt es Kompatibilitätsprobleme mit dem Mail-Plugin
- Als Alternative wird macless-haystack genannt
- Auch bei dieser Methode sollte nur
generate_keys.pyaus dem OrdnerAirTagGenerationverwendet werden - Das Schlüsselerzeugungsskript dieses Repositorys verwendet ein anderes Schlüsseldatenformat, während die Dateien von FindMy Flipper die für den normalen Import in den FlipperZero nötigen Daten enthalten
- Auch bei dieser Methode sollte nur
- Diese App ist für den privaten und pädagogischen Gebrauch gedacht
- Nutzer müssen die lokalen Datenschutzgesetze und Vorschriften zu Tracking-Geräten einhalten
- Das Klonen und Emulieren von Tracking-Tags sollte unter Achtung des Eigentums am ursprünglichen Gerät und verantwortungsvoll erfolgen
- Dieses Projekt steht in keiner Verbindung zu Apple Inc. oder Samsung
1 Kommentare
Hacker-News-Kommentare
Ein interessantes Projekt, aber eine der hier verwendeten Unterabhängigkeiten wirkt in der Standardeinstellung unsicher:
https://github.com/biemster/FindMy/blob/113ebf4017729b92a381...
Sieht nach einer Authentifizierungsbibliothek für iCloud aus, und offenbar wurde der MacBook device agent hardcodiert, um erzeugte Schlüssel mit einem Gerät zu verknüpfen.
Wie bei zentralisierten Diensten würde ich das nicht mit einem Konto verwenden, an dem viele Dienste oder digitale Assets hängen. Es würde mich nicht wundern, wenn Apple solche Nutzungskonten sperrt.
Es gibt einen eindeutigen
adsid-Code, der für den Login nötig ist, also dürfte das auch nicht schwer zu erkennen sein.Ich frage mich allerdings, warum Apple das nicht offiziell unterstützt. Vielleicht, um den Verkauf von iOS-Geräten anzukurbeln.
Ich habe ungefähr 5.000 Dollar an Apple-Desktop- und -Mobilhardware und musste mir trotzdem noch ein gebrauchtes iPhone kaufen, nur um ein paar AirTags zu registrieren – das ärgert mich.
https://github.com/biemster/FindMy/blob/113ebf4017729b92a381...
Bewusst würde ich niemals eine Third-Party-Bibliothek integrieren. Schon jetzt lasse ich jede
VenToy-Version durch Virenscanner laufen und warte auf den Moment, in dem eine NZ-artige Schwachstelle tatsächlich sichtbar wird.Nicht so sehr wegen Apples Zahlungsfluss, sondern wegen des Abo-Modells. Wenn man Funktionen kostenlos anbietet, die Apple interessant finden könnte, sollte man vorsichtig sein. Apple könnte den Zugriff blockieren und anfangen, von den Nutzern Geld zu verlangen.
Doppelt vorsichtig sollte man sein, Geeks wütend zu machen. Das sind wirklich furchteinflößende Leute: Sie schlafen freitagabends verärgert ein und verbringen dann das ganze Wochenende damit, ein Produkt als Black Box zu analysieren und die Implementierung trivial zu machen.
Dieses Konzept könnte wohl auch dazu genutzt werden, die von Apple und anderen eingebauten Anti-Stalking-Funktionen zu umgehen.
Wenn man zum Beispiel N Spender-Tags hat und alle
24/NStunden zwischen ihnen wechselt, sieht es aus Sicht von Apple oder der Geräteverfolgung nicht so aus, als würde eine verfolgte Person über längere Zeit von einem einzelnen Tag begleitet.Mit einer großen Batterie und einer einfachen Timer-Schaltung – plus entferntem Piepser – wird daraus ein hervorragendes Tracking-Gerät.
Ich erinnere mich, dass das im Kontext der Verfolgung von Fracht mit teurer Ausrüstung diskutiert wurde. Transporte können Monate dauern; AirTags sind sehr energieeffizient und halten mit einer großen Batterie lange durch, während bestehende GPS-Lösungen nicht ausreichten.
Oder man nimmt einen GPS-Tag, der das AirTag-„Netzwerk“ gar nicht nutzt; dann muss man auch nichts rotieren lassen.
Ich benutze Flipper immer noch mehrmals pro Woche. Ich freue mich auf die nächste Version mit Unterstützung für Wi-Fi und weitere Frequenzen.
Hat jemand getestet, wie die „Find My“-App reagiert, wenn sie denselben Tag an mehr als einem Ort sieht?
Ich nutze das, und es ist großartig. Es verbraucht praktisch so gut wie keinen Strom.
Schön wäre, wenn es auch mit Googles Find My Device-Netzwerk kommunizieren könnte, aber im Apple-Netzwerk funktioniert es bereits sehr gut.
Es wäre schön, wenn man das auf günstige BLE-Geräte wie den ESP32-C3 portieren könnte. Einen Flipper als AirTag zu verwenden ist etwas teuer.
Leider braucht man einen Spender-Tag, als den es sich ausgeben kann, und dieser Tag kann währenddessen nicht verwendet werden. Oder man muss OpenHaystack nutzen, braucht dann aber einen Mac, um die Daten zu bekommen.
In der
README.mdwäre ein Link hilfreich, damit man weiß, worum es hier geht: https://flipperzero.one/Welche Android-App braucht man, um das zu nutzen? Am liebsten eine, die keine Google Services benötigt.
Aber mit welcher Android-App kann man ihn tatsächlich „finden“? Ich habe weder ein iPhone noch ein Samsung-Gerät.