{"id":21963928,"url":"https://github.com/maxbubblegum47/pyfind","last_synced_at":"2025-10-10T10:32:32.251Z","repository":{"id":191468594,"uuid":"684717564","full_name":"MaxBubblegum47/PyFind","owner":"MaxBubblegum47","description":"Applied cryptography project. Unimore computer science master degree. Apple find my devices implementation in python","archived":false,"fork":false,"pushed_at":"2023-09-12T16:25:41.000Z","size":41215,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-29T11:59:30.998Z","etag":null,"topics":["aes-gcm","apple","cryptography","ecdh","kdf","python","unimore-informatica"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaxBubblegum47.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-29T17:55:51.000Z","updated_at":"2024-10-03T19:40:06.000Z","dependencies_parsed_at":"2023-08-30T03:37:57.707Z","dependency_job_id":null,"html_url":"https://github.com/MaxBubblegum47/PyFind","commit_stats":null,"previous_names":["maxbubblegum47/findmydevices_implementation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxBubblegum47%2FPyFind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxBubblegum47%2FPyFind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxBubblegum47%2FPyFind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxBubblegum47%2FPyFind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaxBubblegum47","download_url":"https://codeload.github.com/MaxBubblegum47/PyFind/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235946425,"owners_count":19070419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes-gcm","apple","cryptography","ecdh","kdf","python","unimore-informatica"],"created_at":"2024-11-29T11:59:53.287Z","updated_at":"2025-10-10T10:32:23.277Z","avatar_url":"https://github.com/MaxBubblegum47.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyFind\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/MaxBubblegum47/PyFind/blob/main/docs/PyFind_logo.PNG\" alt=\"Project logo\" width=\"200px\"\u003e\n\u003c/p\u003e\n\n\nPyfind is a project based on:\n1. Who Can Find My Devices? Security and Privacy of Apple's Crowd-Sourced Bluetooth Location Tracking System \n(https://arxiv.org/abs/2103.02282)\n2. The Clever Cryptography Behind Apple's 'Find My' Feature (https://www.wired.com/story/apple-find-my-cryptography-bluetooth/)\n3. How does Apple (privately) find your offline devices? (https://blog.cryptographyengineering.com/2019/06/05/how-does-apple-privately-find-your-offline-devices/)\n4. WWDC 2019 Keynote - Apple (https://www.youtube.com/watch?v=psL_5RIBqnY\u0026t=6711s) [1:50:00]\n\nThe aim is to recreate in Python the \"Find My Device Feature\" that was first presented during the WWDC 2019. Most of the project is based on the first documented that I have linked. Since a real Apple's documentation is still missing, this is the closest thing we have.\n\nTo test the project you can ```git clone``` the repo, positioning inside ```/src``` folder and type the following commands:\n```bash\npip install requirements.txt\npython3 FindMyDevice.py\n```\nThis simulates the eventually of losing your own iPhone, but there's also another simulation in which you are searching an airtag: ```FindMyDevice_Airtag.py```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxbubblegum47%2Fpyfind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxbubblegum47%2Fpyfind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxbubblegum47%2Fpyfind/lists"}