2 पॉइंट द्वारा GN⁺ 2024-08-20 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • FindMy Flipper एक ऐसा ऐप है जो FlipperZero की Bluetooth क्षमताओं को बढ़ाकर उसे Apple AirTag, Samsung SmartTag और Tile Tracker की तरह काम करने देता है
  • यह FlipperZero के BLE beacon के जरिए SmartTag सिग्नल broadcast करता है, और मौजूदा टैग को clone कर सकता है या OpenHaystack key pair बनाकर Apple FindMy network के साथ integrate कर सकता है
  • मौजूदा टैग clone करने का तरीका AirTag, Samsung SmartTag और Tile Tracker के MAC address और payload को लेकर native app से ट्रैकिंग सक्षम करता है, लेकिन AirTag में बैटरी दोबारा लगाने पर key rotate हो सकती है, जिससे Flipper की मौजूदा key अमान्य हो सकती है
  • AirTag key generation का तरीका बिना असली AirTag या Apple device के भी काम करता है, लेकिन इसके लिए Docker Desktop, Python और Git चाहिए, और location data पाने के लिए कंप्यूटर तथा Apple ID authentication का उपयोग होता है
  • ऐप background execution और beacon interval तथा transmit power adjustment को support करता है, और उपयोगकर्ताओं को tracking device से जुड़े privacy laws तथा मूल device ownership का सम्मान करना चाहिए

FlipperZero को tracking tag की तरह इस्तेमाल करने वाला ऐप

  • FindMy Flipper एक ऐप है जो FlipperZero को Apple AirTag, Samsung SmartTag और Tile Tracker emulate करने देता है
  • यह FlipperZero के BLE beacon का उपयोग करके FindMy Network में detect हो सकने वाले SmartTag signals broadcast करता है
  • लक्ष्य सुविधाएँ इस प्रकार हैं
    • मौजूदा Apple AirTag, Samsung SmartTag और Tile Tracker को FlipperZero पर clone करना
    • असली AirTag के बिना FindMy network के लिए OpenHaystack key pair बनाना
    • FlipperZero की location को लगातार track करना

मुख्य सुविधाएँ

  • Tag emulation

    • मौजूदा tag के MAC address और payload को clone किया जा सकता है
    • असली AirTag के बिना भी FindMy network के लिए key pair बनाया जा सकता है
  • User adjustment

    • beacon broadcast interval को adjust किया जा सकता है
    • transmit power बदलकर visibility और battery life के बीच संतुलन किया जा सकता है
  • Background operation

    • ऐप background execution के लिए optimized है
    • इसे इस तरह डिजाइन किया गया है कि FlipperZero का सामान्य उपयोग रोके बिना कम battery usage में tracking जारी रखी जा सके

Installation के तरीके

  • Installation दो तरीकों से की जा सकती है
    • डिवाइस के मुताबिक release/precompiled FAP firmware का उपयोग
    • fbt/ufbt से firmware को सीधे build करना
  • फिलहाल सभी firmware को icon सहित main branch पर काम करना चाहिए

SmartTag data प्राप्त करने के तरीके

  • tag emulation data प्राप्त करने के दो तरीके हैं
    • Option A: मौजूदा tag को clone करना

      • Option B: AirTag key generation
  • Option A: मौजूदा tag को clone करना

    • मौजूदा tag को clone करना पसंदीदा तरीका है और इसके लिए अतिरिक्त setup के बिना tracking की जा सकती है
    • Apple, Samsung और Tile tag को असली tag के MAC address और payload clone करके इस्तेमाल किया जा सकता है
    • यह तरीका Apple FindMy, Samsung SmartThing और Tile App जैसे native app के जरिए tracking सक्षम करता है
    • बुनियादी प्रक्रिया इस प्रकार है
    • पहले AirTag, Samsung SmartTag या Tile Tracker को किसी device के साथ pair करें
    • registered device से tag को लगभग 15 मिनट के लिए दूर रखें ताकि वह Lost mode में चला जाए
    • Android का nrfConnect या ESP32 इस्तेमाल करें
    • nrfConnect में Raw data दिखाने के लिए Apple version चाहिए, इसलिए Android version इस्तेमाल करने का निर्देश दिया गया है
    • ESP32-WROOM या ESP32-S3 का उपयोग करने पर Android के बिना भी आवश्यक data प्राप्त किया जा सकता है
    • संबंधित tool के रूप में ESP32-AirTag-Scanner इस्तेमाल किया जा सकता है
    • scan प्रक्रिया में filter से tag brand के अलावा बाकी items हटाना, RSSI को -40 dBm पर adjust करना, और SmartTag के “FindMy” device के रूप में दिखने तक इंतजार करना शामिल है
    • payload और MAC address capture करने के तुरंत बाद tag की battery हटा देनी चाहिए
    • AirTag में battery दोबारा लगाने पर Apple server के साथ key rotate हो सकती है
    • key rotate होने पर Flipper की मौजूदा key अमान्य हो जाती है
    • Flipper पर इसे जारी रखने के लिए AirTag को powered off रखना होगा या battery निकालकर रखनी होगी
    • AirTag और Flipper को एक साथ इस्तेमाल नहीं किया जा सकता, और जरूरत पड़ने पर प्रक्रिया दोहराकर Flipper functionality को वापस बदला जा सकता है
    • capture किया गया payload और MAC Address FlipperZero ऐप में दर्ज किया जाता है
  • Option B: AirTag key generation

    • AirTag key generation वह तरीका है जिसमें Apple device या AirTag के बिना AirTag emulate किया जाता है
    • यह तरीका key generation पर आधारित है, और location data download करने के लिए कंप्यूटर चाहिए
    • आवश्यक components इस प्रकार हैं
    • Docker Desktop
    • Python
    • Git
    • repository clone करने के बाद AirTagGeneration folder में काम करें
    git clone https://github.com/MatthewKuKanich/FindMyFlipper.git
    cd AirTagGeneration
    
    • Docker Desktop चलाने के बाद निम्न command से server setup करें
    docker run -d --restart always --name anisette-v3 -p 6969:6969 dadoum/anisette-v3-server:latest
    
    • यह server Apple authentication server को imitate करने वाला environment emulate करता है
    • Python virtual environment बनाकर activate करें, फिर dependencies install करें
    python3 -m venv venv
    pip3 install -r requirements.txt
    
    • generate_keys.py AirTag के लिए जरूरी keys बनाता है और उन्हें नए keys folder में store करता है
    • बनी हुई .keys file को FlipperZero में transfer करके ऐप में import किया जा सकता है
    • ऐप के config menu में “register tag” चुनें
    • tag type चुनें
    • .keys या .txt import करें या manually input दें
    • manual input के समय MAC और payload क्रम से दर्ज करें
    • save दबाकर register करें
    • request_reports.py Apple ID और password authentication के जरिए real-time location data request करता है
    • Apple login information auth file में store होती है, इसलिए बाद में दोबारा input देने की जरूरत नहीं होती
    • RequestReport&Map.py पिछले 24 घंटे का location data interactive map पर दिखाता है
    • keys folder में मौजूद hashed advertising key से location report request करता है
    • उसी .keys file की private key से data decrypt करता है
    • decrypted data terminal में दिखाता है
    • coordinates को map पर दिखाता है और movement path को जोड़ता है
    • location metadata दिखाता है और report date नाम वाली HTML file के रूप में save करता है

FlipperZero ऐप setup और adjustment

  • ऐप चलाने के बाद config menu में Import Tag From File या Register Tag Manually का उपयोग किया जा सकता है
  • .keys file को FlipperZero SD card के apps_data->findmy या AppsData/FindMyFlipper folder में रखकर import करने का flow शामिल है
  • nrfConnect से save की गई .txt file भी उसी folder में रखकर import की जा सकती है
  • adjust की जा सकने वाली items इस प्रकार हैं
    • Beacon Interval: FlipperZero कितनी बार अपनी मौजूदगी broadcast करेगा, इसका adjustment
    • Transmit Power: tracking range और battery life के बीच संतुलन के लिए signal strength adjustment

Compatibility, alternatives और जिम्मेदारी

  • compatibility targets इस प्रकार हैं
    • FindMy network के जरिए AirTag tracking के लिए Apple devices
    • Samsung SmartTag tracking को support करने वाले devices और web browser
    • Tile App के जरिए Tile Tracker
  • OpenHaystack के जरिए tracking के लिए macOS 14 से कम चाहिए
    • macOS 14 या उसके बाद Mail plugin compatibility समस्या है
  • विकल्प के रूप में macless-haystack सुझाया गया है
    • इस तरीके का उपयोग करते समय भी AirTagGeneration folder का generate_keys.py ही इस्तेमाल करना चाहिए
    • उस repository की key generation script का key file format अलग है, जबकि FindMy Flipper वाली file में FlipperZero पर सही import के लिए आवश्यक data शामिल है
  • यह ऐप व्यक्तिगत और शैक्षिक उपयोग के लिए बनाया गया है
  • उपयोगकर्ताओं को tracking device से संबंधित स्थानीय privacy laws और नियमों का पालन करना चाहिए
  • tracking tag cloning और emulation का उपयोग मूल device ownership का सम्मान करते हुए जिम्मेदारी से किया जाना चाहिए
  • इस project का Apple Inc. या Samsung से कोई संबंध नहीं है

1 टिप्पणियां

 
GN⁺ 2024-08-20
Hacker News टिप्पणियाँ
  • प्रोजेक्ट दिलचस्प है, लेकिन इसमें इस्तेमाल हुई downstream dependencies में से एक default रूप से सुरक्षित नहीं लगती:
    https://github.com/biemster/FindMy/blob/113ebf4017729b92a381...
    यह iCloud के लिए authentication library लगती है, और generated key को डिवाइस से जोड़ने के लिए MacBook device agent को hardcode किया हुआ लगता है
    centralized services जैसी चीज़ों में, मैं इसे ऐसे account पर नहीं इस्तेमाल करूँगा जिसमें कई services या digital assets जुड़े हों। Apple अगर ऐसे usage account को block कर दे तो हैरानी नहीं होगी
    login के लिए ज़रूरी unique adsid code है, इसलिए इसे पकड़ना भी मुश्किल नहीं लगता

    • अगर “generated key को डिवाइस से जोड़ने के लिए MacBook device agent को hardcode किया हुआ लगता है”, तो क्या technically AirTag registration के लिए iOS device की ज़रूरत नहीं और कोई भी Apple device काफी है?
      फिर समझ नहीं आता कि Apple इसे officially support क्यों नहीं करता। शायद iOS device sales push करने के लिए?
      मेरे पास करीब 5,000 डॉलर के Apple desktop/mobile उपकरण हैं, फिर भी कुछ AirTags register करने के लिए एक used iPhone और खरीदना पड़ा, इसलिए गुस्सा आता है
    • कोई बड़ी बात नहीं, यह localhost है:
      https://github.com/biemster/FindMy/blob/113ebf4017729b92a381...
    • iCloud के लिए authentication library users के लिए मूल रूप से सुरक्षित नहीं है, और जाहिर है Apple, Inc. के लिए ऐसा नहीं है। मुझे लगता है यह project, भले ही भयानक हो, दो अलग products के रूप में fork किया जाना चाहिए
      मैं जानबूझकर कभी third-party library integrate नहीं करूँगा। अभी भी VenToy के हर release को virus scanner से गुजार रहा हूँ, और NZ-टाइप vulnerability के सच में सामने आने के पल का इंतज़ार कर रहा हूँ
      यह Apple के payment flow की वजह से नहीं, बल्कि subscription model की वजह से है। अगर आप कोई ऐसा feature free में देते हैं जिसे Apple interesting माने, तो सावधान रहना चाहिए। Apple access रोककर users से पैसे लेना शुरू कर सकता है
      geeks को नाराज़ करने में भी दोगुनी सावधानी चाहिए। ये लोग शुक्रवार रात गुस्से में सोते हैं और फिर पूरा weekend product को black-box analyze करके implementation को trivial बना देते हैं—वाकई डरावने हैं
  • यह concept Apple वगैरह द्वारा जोड़े गए anti-stalking features को bypass करने के लिए भी इस्तेमाल हो सकता है
    उदाहरण के लिए, N donor tags रखकर हर 24/N घंटे में rotate करें, तो Apple या device tracking के नजरिए से tracked व्यक्ति लंबे समय तक किसी single tag के पीछे चलता हुआ नहीं दिखेगा

    • अगर अभी तक patch नहीं हुआ है, तो सुना है कि timer से tag की power को periodic रूप से off/on करने भर से detection से बचा जा सकता है
      बड़ी battery और simple timer circuit लगाकर, और beeper हटाकर, यह बढ़िया tracking device बन जाता है
      याद है कि यह बात महंगे equipment वाले cargo को track करने के context में आई थी। Shipping में महीनों लग सकते हैं, AirTag power-efficient है इसलिए बड़ी battery के साथ लंबे समय तक चलता है, और existing GPS solutions पर्याप्त नहीं थे
    • donor tag की ज़रूरत क्यों है? इस project के README में tag generate करने का तरीका है
    • अगर tags को लगातार rotate करना पड़े, तो उस point पर खुद पीछा करना effort या पैसे के लिहाज से कम नहीं पड़ेगा?
      या फिर ऐसा GPS tag इस्तेमाल करें जो AirTag “network” बिल्कुल use न करता हो, और rotate करने की जरूरत भी न हो
  • मैं अब भी Flipper को हफ्ते में कई बार इस्तेमाल करता हूँ। Wi-Fi और दूसरी frequencies support करने वाले next version का इंतज़ार है

    • किस काम में इस्तेमाल कर रहे हो?
    • क्या WiFi dev board काफी नहीं है?
  • क्या किसी ने test किया है कि “Find My” app एक ही tag को दो से ज्यादा locations पर देखे तो कैसे react करता है?

    • Apple servers location के बारे में कुछ नहीं जानते, इसलिए location average करेगा या नहीं यह implementation पर, यहाँ FindMy app पर निर्भर है
    • अगर मैं कुछ miss नहीं कर रहा, तो यह बस सबसे recent location नहीं लेगा?
  • मैं इसे इस्तेमाल कर रहा हूँ और यह शानदार है। Power भी practically लगभग नहीं खाता
    अच्छा होता अगर यह Google के Find My Device network से भी communicate कर पाता, लेकिन Apple network पर पहले से ही बहुत अच्छी तरह काम करता है

  • अच्छा होगा अगर इसे ESP32-C3 जैसे low-cost BLE device पर port किया जा सके। Flipper को AirTag की तरह इस्तेमाल करना थोड़ा महंगा है

  • अफसोस कि impersonate करने के लिए donor tag चाहिए, और वह tag इसे इस्तेमाल करते समय इस्तेमाल नहीं हो सकता। वरना OpenHaystack इस्तेमाल करना पड़ेगा, लेकिन data पाने के लिए Mac चाहिए

    • ऐसा नहीं है। मैं Linux machine पर AirTag के बिना इस्तेमाल कर रहा हूँ, और यह ठीक काम करता है
  • README.md में एक link होना चाहिए ताकि पता चले कि यह किस बारे में बात कर रहा है: https://flipperzero.one/

  • इसे इस्तेमाल करने के लिए कौन-सा Android app चाहिए? हो सके तो ऐसा app जो Google Services न मांगे

    • यह project phone के लिए नहीं, Flipper Zero के लिए है
    • मुझे पता है कि Flipper चाहिए, और मेरे पास एक है
      लेकिन actual में इसे “find” करने के लिए कौन-सा Android app इस्तेमाल कर सकता हूँ? मेरे पास iPhone या Samsung device नहीं है
    • कोई नहीं। बस Python, git और Docker वाला computer चाहिए