{"id":13648086,"url":"https://github.com/RapierXbox/ESP32-Sour-Apple","last_synced_at":"2025-04-22T06:32:58.250Z","repository":{"id":197865422,"uuid":"699532695","full_name":"RapierXbox/ESP32-Sour-Apple","owner":"RapierXbox","description":"Crashes iOS 17 Devices using a really any device","archived":false,"fork":false,"pushed_at":"2024-06-23T09:32:25.000Z","size":64,"stargazers_count":500,"open_issues_count":0,"forks_count":54,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-04T20:14:19.293Z","etag":null,"topics":["bluetooth","bluetooth-low-energy","circuitpython","esp32","exploit","ios","iphone","python","python3","rasberry","rasberrypi","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RapierXbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-02T20:24:20.000Z","updated_at":"2025-04-03T02:38:21.000Z","dependencies_parsed_at":"2023-10-03T04:57:46.741Z","dependency_job_id":"b2c41e68-5e3c-4e9d-89cd-3d61f012bee2","html_url":"https://github.com/RapierXbox/ESP32-Sour-Apple","commit_stats":{"total_commits":49,"total_committers":4,"mean_commits":12.25,"dds":0.1428571428571429,"last_synced_commit":"483634ee20724bece3ee48187ab04796c4dd27fb"},"previous_names":["rapierxbox/esp32-sour-apple"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RapierXbox%2FESP32-Sour-Apple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RapierXbox%2FESP32-Sour-Apple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RapierXbox%2FESP32-Sour-Apple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RapierXbox%2FESP32-Sour-Apple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RapierXbox","download_url":"https://codeload.github.com/RapierXbox/ESP32-Sour-Apple/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250183481,"owners_count":21388725,"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":["bluetooth","bluetooth-low-energy","circuitpython","esp32","exploit","ios","iphone","python","python3","rasberry","rasberrypi","raspberry-pi"],"created_at":"2024-08-02T01:03:57.613Z","updated_at":"2025-04-22T06:32:57.976Z","avatar_url":"https://github.com/RapierXbox.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# SourApple\n\n\n\u003e ### 🚫 Warning\n\u003e Only use this on devices you own or when you have permisson to use it.\\\n\u003e This project is made for educational purposes ONLY and is NOT made to break laws and/or\\\n\u003e for personal gain. Everythin is provided as-is and has no warranty so if your break any of your devices.\n\n# The iOS 17 \"BLE Crash Exploit\"\nThe exploit was originaly developed and discovered by ECTO-1A. I ported it to the ESP32 and to RPi (and any devices that can run python). The scipts are meant for the ESP32, as the ESP8266 doesnt have BLE. The exploit causes the device to crash (works fastest while it is locked on the homescreen).\n\n# Testing\nThis script was tested with and at the time of writing, works on:\n\nESP32-S3: \u003cbr\u003e\n• iPhone 14 Pro - iOS 17.2 (21C5029g)\u003cbr\u003e\n• iPhone 14 Pro - iOS 17.1 (21B506 \u0026 21B74)\u003cbr\u003e\n\nESP-WROOM-32: \u003cbr\u003e\n• iPhone 12 Pro - iOS 17.0 (21A329)\u003cbr\u003e\n\nRPi 4: \u003cbr\u003e\n• iPhone XS - iOS 17.0 (21A329)\u003cbr\u003e\n• iPhone 12 Pro - iOS 17.1 Beta 2\u003cbr\u003e\n• iPhone 11 Pro - iOS 17.1.2 (21B101)\u003cbr\u003e\n\nRPi Pico W: \u003cbr\u003e\n• iPhone 13 Pro - iOS 17.2.1 (21C66) \"Patched\"\u003cbr\u003e\n• iPhone 13 - iOS 17.0.3 (21A360)\u003cbr\u003e\n• iPhone 12 - iOS 17.0 (21A329)\u003cbr\u003e\n• iPhone 12 - iOS 17.0.1 (21A340)\u003cbr\u003e\n• iPhone 11 - iOS 17.0 (21A326)\u003cbr\u003e\n\n# Behavior\nThe iPhone starts to freeze after a few seconds of it getting spammed with BLE pairing requests. After a random looking amount of time the iPhone turns completely black and you can now force restart it (Volume UP, Volume Down, Hold power button), or, alternatively, wait for it to restart by itself. While testing (on an ESP32-S3), it reaches stable temps at ~57c, so heat shouldn't be of concern. Some PI models report to get a little bit hotter than that, however it still should not be an issue.\n\n# Contributors:\n\u003ca href=\"https://github.com/ECTO-1A\"\u003e­@ECTO-1A\u003c/a\u003e: Found the exploit\u003cbr\u003e\n\u003ca href=\"https://github.com/Willy-JL\"\u003e­@WillyJL\u003c/a\u003e: Portet the exploit to Flipper Zero\u003cbr\u003e\n\u003ca href=\"https://github.com/Amachik\"\u003e­@Amachik\u003c/a\u003e: Helped make the RPi script\u003cbr\u003e\n\u003ca href=\"https://github.com/N1-TR0\"\u003e@N1-TR0\u003c/a\u003e: Made the micropython script\u003cbr\u003e\n\u003ca href=\"https://github.com/FLOCK4H\"\u003e@FLOCK4H\u003c/a\u003e: Made the circuitpython script\u003cbr\u003e\n\n# Common Error\nIf you have a compilation error telling you the esp_fill_random was not declared there is a easy fix. The esp_fill_random is a hardware random generation function and available on most ESP32's. There are two fixes for it. Firstly you can try to choose another ESP32 board and just compile for it and hope that it works or you can add these lines of code:\n```\nvoid esp_fill_random(uint8_t* buf, size_t len) {\n  for(size_t i = 0; i \u003c len; i++) {\n    buf[i] = random(0, 1000);\n  }\n}\n```\n\n# Things you don't want to know\nI spilled coffee all over a lot of electronics while writing this :(\n\n# Need help?\nMy discord if you need help: rapierxbox\u003cbr\u003e\nor open a issue\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRapierXbox%2FESP32-Sour-Apple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRapierXbox%2FESP32-Sour-Apple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRapierXbox%2FESP32-Sour-Apple/lists"}