gitextract_r_s2v_gj/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── general-question.md │ ├── actions/ │ │ └── build-esp-idf/ │ │ └── action.yaml │ └── workflows/ │ ├── build-app.yml │ ├── build-cve-2020-9986.yaml │ ├── build-firmware-esp32.yaml │ ├── build-firmware.yaml │ └── release.yml ├── .gitignore ├── .gitmodules ├── .pre-commit ├── CITATION.cff ├── CVE-2020-9986/ │ └── OFReadKeys/ │ ├── .swiftlint.yml │ ├── OFFetchReports/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AccentColor.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ └── Main.storyboard │ │ ├── BoringSSL/ │ │ │ ├── BoringSSL.h │ │ │ ├── BoringSSL.m │ │ │ └── Bridging-Header.h │ │ ├── ContentView.swift │ │ ├── FindMy/ │ │ │ ├── DecryptReports.swift │ │ │ ├── FindMyController.swift │ │ │ ├── FindMyKeyDecoder.swift │ │ │ └── Models.swift │ │ ├── Info.plist │ │ ├── MapView.swift │ │ ├── MapViewController.swift │ │ ├── MapViewController.xib │ │ ├── OFFetchReports.entitlements │ │ ├── OFFetchReportsMainView.swift │ │ ├── Preview Content/ │ │ │ └── Preview Assets.xcassets/ │ │ │ └── Contents.json │ │ ├── ReportsFetcher/ │ │ │ ├── ReportsFetcher.h │ │ │ └── ReportsFetcher.m │ │ └── SavePanel.swift │ ├── OFReadKeys/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ └── Main.storyboard │ │ ├── ContentView.swift │ │ ├── FindMyKeyExtractor.swift │ │ ├── FindMyModels.swift │ │ ├── Info.plist │ │ ├── OFReadKeys.entitlements │ │ ├── Preview Content/ │ │ │ └── Preview Assets.xcassets/ │ │ │ └── Contents.json │ │ └── SavePanel.swift │ └── OFReadKeys.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── swiftpm/ │ │ └── Package.resolved │ └── xcshareddata/ │ └── xcschemes/ │ ├── OFFetchReports.xcscheme │ ├── OFReadKeys.xcscheme │ └── Run OFFetchReports.xcscheme ├── Firmware/ │ ├── ESP32/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ └── settings.json │ │ ├── CMakeLists.txt │ │ ├── Makefile │ │ ├── README.md │ │ ├── flash_esp32.sh │ │ ├── main/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Kconfig.projbuild │ │ │ ├── component.mk │ │ │ └── openhaystack_main.c │ │ ├── partitions.csv │ │ └── sdkconfig │ ├── Linux_HCI/ │ │ ├── HCI.py │ │ └── README.md │ └── Microbit_v1/ │ ├── .gitignore │ ├── LICENSE │ ├── Makefile │ ├── README.md │ └── offline-finding/ │ ├── Makefile │ └── main.c ├── LICENSE ├── Makefile ├── OpenHaystack/ │ ├── .clang-format │ ├── .swift-format │ ├── OpenHaystack/ │ │ ├── .ldid.OfflineFinder.entitlements │ │ ├── AnisetteDataManager.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Colors/ │ │ │ │ ├── Button.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ButtonPressed.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Contents.json │ │ │ │ ├── ListRow1.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ListRow2.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── PinColor.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── PinImageColor.colorset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ └── Main.storyboard │ │ ├── BoringSSL/ │ │ │ ├── BoringSSL.h │ │ │ └── BoringSSL.m │ │ ├── FindMy/ │ │ │ ├── DecryptReports.swift │ │ │ ├── FindMyController.swift │ │ │ ├── FindMyKeyDecoder.swift │ │ │ └── Models.swift │ │ ├── HaystackApp/ │ │ │ ├── AccessoryController.swift │ │ │ ├── AccessoryNearbyMonitor.swift │ │ │ ├── Bluetooth/ │ │ │ │ ├── Advertisement.swift │ │ │ │ └── BluetoothAccessoryScanner.swift │ │ │ ├── DataToHexExtension.swift │ │ │ ├── ESP32Controller.swift │ │ │ ├── FileManager.swift │ │ │ ├── Firmwares/ │ │ │ │ ├── ESP32/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── NRF/ │ │ │ │ ├── NRF52_NRF52832_openHayStack.hex │ │ │ │ ├── NRF52_NRF52840_openHayStack.hex │ │ │ │ ├── flash_nrf.py │ │ │ │ └── flash_nrf.sh │ │ │ ├── KeychainController.swift │ │ │ ├── Mail Plugin/ │ │ │ │ ├── HaystackMail.mailbundle/ │ │ │ │ │ ├── Contents/ │ │ │ │ │ │ ├── Info.plist │ │ │ │ │ │ └── MacOS/ │ │ │ │ │ │ └── HaystackMail │ │ │ │ │ └── _CodeSignature/ │ │ │ │ │ └── CodeResources │ │ │ │ └── MailPluginManager.swift │ │ │ ├── MicrobitController.swift │ │ │ ├── Model/ │ │ │ │ ├── Accessory.swift │ │ │ │ └── PreviewData.swift │ │ │ ├── NRFController.swift │ │ │ ├── UpdateCheckController.swift │ │ │ └── Views/ │ │ │ ├── AccessoryListEntry.swift │ │ │ ├── AccessoryMapAnnotation.swift │ │ │ ├── AccessoryMapView.swift │ │ │ ├── ActivityIndicator.swift │ │ │ ├── ESP32InstallSheet.swift │ │ │ ├── IconSelectionView.swift │ │ │ ├── ManageAccessoriesView.swift │ │ │ ├── NRFInstallSheet.swift │ │ │ ├── OpenHaystackMainView.swift │ │ │ ├── OpenHaystackSettingsView.swift │ │ │ ├── PopUpAlertView.swift │ │ │ ├── Slider+LogScale.swift │ │ │ └── Styles/ │ │ │ └── LargeButtonStyle.swift │ │ ├── Info.plist │ │ ├── MapViewController.swift │ │ ├── MapViewController.xib │ │ ├── OpenHaystackApp.swift │ │ ├── Preview Content/ │ │ │ └── Preview Assets.xcassets/ │ │ │ └── Contents.json │ │ ├── ReportsFetcher/ │ │ │ ├── ReportsFetcher.h │ │ │ └── ReportsFetcher.m │ │ └── SavePanel.swift │ ├── OpenHaystack-Bridging-Header.h │ ├── OpenHaystack.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ ├── IDETemplateMacros.plist │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── swiftpm/ │ │ │ └── Package.resolved │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── OpenHaystack (Preview).xcscheme │ │ ├── OpenHaystack.xcscheme │ │ ├── OpenHaystackMail.xcscheme │ │ └── OpenHaystackTests.xcscheme │ ├── OpenHaystackMail/ │ │ ├── ALTAnisetteData.h │ │ ├── ALTAnisetteData.m │ │ ├── AppleAccountData.h │ │ ├── AppleAccountData.m │ │ ├── Info.plist │ │ ├── OpenHaystackPluginService.h │ │ └── OpenHaystackPluginService.m │ ├── OpenHaystackTests/ │ │ ├── BluetoothTests.swift │ │ ├── Info.plist │ │ ├── MicrocontrollerTests.swift │ │ ├── OpenHaystackTests.swift │ │ ├── UpdateCheckTests.swift │ │ └── sampleKeys.plist │ └── Resources/ │ └── codesign_offline_finder.sh ├── README.Reproducibility.md ├── README.md ├── Resources/ │ └── Icon/ │ ├── OpenHaystackIcon.graffle │ └── create_appicon.py └── openhaystack-mobile/ ├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── android/ │ ├── .gitignore │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ ├── debug/ │ │ │ └── AndroidManifest.xml │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── kotlin/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── seemoo_lab_21_22/ │ │ │ │ └── MainActivity.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── launch_background.xml │ │ │ ├── drawable-v21/ │ │ │ │ └── launch_background.xml │ │ │ ├── values/ │ │ │ │ └── styles.xml │ │ │ └── values-night/ │ │ │ └── styles.xml │ │ └── profile/ │ │ └── AndroidManifest.xml │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ └── settings.gradle ├── ios/ │ ├── .gitignore │ ├── Flutter/ │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ └── Release.xcconfig │ ├── Podfile │ ├── Runner/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── LaunchImage.imageset/ │ │ │ ├── Contents.json │ │ │ └── README.md │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── Runner-Bridging-Header.h │ │ └── Runner.entitlements │ ├── Runner.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── ShareExtension/ │ ├── Base.lproj/ │ │ └── MainInterface.storyboard │ ├── Info.plist │ ├── ShareExtension.entitlements │ └── ShareViewController.swift ├── lib/ │ ├── accessory/ │ │ ├── accessory_color_selector.dart │ │ ├── accessory_detail.dart │ │ ├── accessory_dto.dart │ │ ├── accessory_icon.dart │ │ ├── accessory_icon_model.dart │ │ ├── accessory_icon_selector.dart │ │ ├── accessory_list.dart │ │ ├── accessory_list_item.dart │ │ ├── accessory_list_item_placeholder.dart │ │ ├── accessory_model.dart │ │ ├── accessory_registry.dart │ │ └── no_accessories.dart │ ├── dashboard/ │ │ ├── accessory_map_list_vert.dart │ │ ├── dashboard_desktop.dart │ │ └── dashboard_mobile.dart │ ├── deployment/ │ │ ├── code_block.dart │ │ ├── deployment_details.dart │ │ ├── deployment_email.dart │ │ ├── deployment_esp32.dart │ │ ├── deployment_instructions.dart │ │ ├── deployment_linux_hci.dart │ │ ├── deployment_nrf51.dart │ │ └── hyperlink.dart │ ├── findMy/ │ │ ├── decrypt_reports.dart │ │ ├── find_my_controller.dart │ │ ├── models.dart │ │ └── reports_fetcher.dart │ ├── history/ │ │ ├── accessory_history.dart │ │ ├── days_selection_slider.dart │ │ └── location_popup.dart │ ├── item_management/ │ │ ├── accessory_color_input.dart │ │ ├── accessory_icon_input.dart │ │ ├── accessory_id_input.dart │ │ ├── accessory_name_input.dart │ │ ├── accessory_pk_input.dart │ │ ├── item_creation.dart │ │ ├── item_export.dart │ │ ├── item_file_import.dart │ │ ├── item_import.dart │ │ ├── item_management.dart │ │ ├── loading_spinner.dart │ │ └── new_item_action.dart │ ├── location/ │ │ └── location_model.dart │ ├── main.dart │ ├── map/ │ │ └── map.dart │ ├── placeholder/ │ │ ├── avatar_placeholder.dart │ │ └── text_placeholder.dart │ ├── preferences/ │ │ ├── preferences_page.dart │ │ └── user_preferences_model.dart │ └── splashscreen.dart ├── linux/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── flutter/ │ │ ├── CMakeLists.txt │ │ ├── generated_plugin_registrant.cc │ │ ├── generated_plugin_registrant.h │ │ └── generated_plugins.cmake │ ├── main.cc │ ├── my_application.cc │ └── my_application.h ├── macos/ │ ├── .gitignore │ ├── Flutter/ │ │ ├── Flutter-Debug.xcconfig │ │ ├── Flutter-Release.xcconfig │ │ └── GeneratedPluginRegistrant.swift │ ├── Podfile │ ├── Runner/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ └── MainMenu.xib │ │ ├── Configs/ │ │ │ ├── AppInfo.xcconfig │ │ │ ├── Debug.xcconfig │ │ │ ├── Release.xcconfig │ │ │ └── Warnings.xcconfig │ │ ├── DebugProfile.entitlements │ │ ├── Info.plist │ │ ├── MainFlutterWindow.swift │ │ └── Release.entitlements │ ├── Runner.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Runner.xcscheme │ └── Runner.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── pubspec.yaml ├── test/ │ └── widget_test.dart ├── web/ │ ├── index.html │ └── manifest.json └── windows/ ├── .gitignore ├── CMakeLists.txt ├── flutter/ │ ├── CMakeLists.txt │ ├── generated_plugin_registrant.cc │ ├── generated_plugin_registrant.h │ └── generated_plugins.cmake └── runner/ ├── CMakeLists.txt ├── Runner.rc ├── flutter_window.cpp ├── flutter_window.h ├── main.cpp ├── resource.h ├── runner.exe.manifest ├── utils.cpp ├── utils.h ├── win32_window.cpp └── win32_window.h