/AdvetiserAnalyzer

Android app for analyzing iOS background service advertisements

Primary LanguageKotlin

Advertiser Analyzer

Bare bones Andoroid app designed to analyze iOS background advertisements, looking for what bit patterns are set

This is designed to be run alongside this app on iOS.

Steps:

  1. Install the iOS app on an iPhone
  2. Install this app on an Andorid Phone placed right next to the iPhone
  3. Look at the logs in LogCat for this app
  4. put the iPhone app to the background

The app will track iOS background advertisements that look like this:

FF 4C 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

After the 4C 00 01 are 8 bytes that act as a bitmask of one or more BLE Service UUIDs being advertised. The Android app knows the companion iOS app rotates is Service UUID sequentially like so:

00000000-0000-0000-0000-000000000000
00000000-0000-0000-0000-000000000001
00000000-0000-0000-0000-000000000002

Each of these rotations triggers a slight difference in the advertisement, switching which bit is set in the bitmask. The app tracks the predicted advertised service uuid (based on time) with the bitmask it sees at any given time. Once the Android app sees all 128 bit positions get set at least once, it dumps a table to the log of the first Service UUID is saw known to set that bit position.

Results (Spoiler Alert!):

        "00000000-0000-0000-0000-00000000007C",
        "00000000-0000-0000-0000-000000000037",
        "00000000-0000-0000-0000-00000000006E",
        "00000000-0000-0000-0000-000000000025",
        "00000000-0000-0000-0000-000000000059",
        "00000000-0000-0000-0000-000000000012",
        "00000000-0000-0000-0000-00000000004B",
        "00000000-0000-0000-0000-000000000000",
        "00000000-0000-0000-0000-000000000036",
        "00000000-0000-0000-0000-00000000007D",
        "00000000-0000-0000-0000-000000000024",
        "00000000-0000-0000-0000-00000000006F",
        "00000000-0000-0000-0000-000000000013",
        "00000000-0000-0000-0000-000000000058",
        "00000000-0000-0000-0000-000000000001",
        "00000000-0000-0000-0000-00000000004A",
        "00000000-0000-0000-0000-00000000006C",
        "00000000-0000-0000-0000-000000000027",
        "00000000-0000-0000-0000-00000000007E",
        "00000000-0000-0000-0000-000000000035",
        "00000000-0000-0000-0000-000000000049",
        "00000000-0000-0000-0000-000000000002",
        "00000000-0000-0000-0000-00000000005B",
        "00000000-0000-0000-0000-000000000010",
        "00000000-0000-0000-0000-000000000026",
        "00000000-0000-0000-0000-00000000006D",
        "00000000-0000-0000-0000-000000000034",
        "00000000-0000-0000-0000-00000000007F",
        "00000000-0000-0000-0000-000000000003",
        "00000000-0000-0000-0000-000000000048",
        "00000000-0000-0000-0000-000000000011",
        "00000000-0000-0000-0000-00000000005A",
        "00000000-0000-0000-0000-00000000005D",
        "00000000-0000-0000-0000-000000000016",
        "00000000-0000-0000-0000-00000000004F",
        "00000000-0000-0000-0000-000000000004",
        "00000000-0000-0000-0000-000000000078",
        "00000000-0000-0000-0000-000000000033",
        "00000000-0000-0000-0000-00000000006A",
        "00000000-0000-0000-0000-000000000021",
        "00000000-0000-0000-0000-000000000017",
        "00000000-0000-0000-0000-00000000005C",
        "00000000-0000-0000-0000-000000000005",
        "00000000-0000-0000-0000-00000000004E",
        "00000000-0000-0000-0000-000000000032",
        "00000000-0000-0000-0000-000000000079",
        "00000000-0000-0000-0000-000000000020",
        "00000000-0000-0000-0000-00000000006B",
        "00000000-0000-0000-0000-00000000004D",
        "00000000-0000-0000-0000-000000000006",
        "00000000-0000-0000-0000-00000000005F",
        "00000000-0000-0000-0000-000000000014",
        "00000000-0000-0000-0000-000000000068",
        "00000000-0000-0000-0000-000000000023",
        "00000000-0000-0000-0000-00000000007A",
        "00000000-0000-0000-0000-000000000031",
        "00000000-0000-0000-0000-000000000007",
        "00000000-0000-0000-0000-00000000004C",
        "00000000-0000-0000-0000-000000000015",
        "00000000-0000-0000-0000-00000000005E",
        "00000000-0000-0000-0000-000000000022",
        "00000000-0000-0000-0000-000000000069",
        "00000000-0000-0000-0000-000000000030",
        "00000000-0000-0000-0000-00000000007B",
        "00000000-0000-0000-0000-00000000003E",
        "00000000-0000-0000-0000-000000000075",
        "00000000-0000-0000-0000-00000000002C",
        "00000000-0000-0000-0000-000000000067",
        "00000000-0000-0000-0000-00000000001B",
        "00000000-0000-0000-0000-000000000050",
        "00000000-0000-0000-0000-000000000009",
        "00000000-0000-0000-0000-000000000042",
        "00000000-0000-0000-0000-000000000074",
        "00000000-0000-0000-0000-00000000003F",
        "00000000-0000-0000-0000-000000000066",
        "00000000-0000-0000-0000-00000000002D",
        "00000000-0000-0000-0000-000000000051",
        "00000000-0000-0000-0000-00000000001A",
        "00000000-0000-0000-0000-000000000043",
        "00000000-0000-0000-0000-000000000008",
        "00000000-0000-0000-0000-00000000002E",
        "00000000-0000-0000-0000-000000000065",
        "00000000-0000-0000-0000-00000000003C",
        "00000000-0000-0000-0000-000000000077",
        "00000000-0000-0000-0000-00000000000B",
        "00000000-0000-0000-0000-000000000040",
        "00000000-0000-0000-0000-000000000019",
        "00000000-0000-0000-0000-000000000052",
        "00000000-0000-0000-0000-000000000064",
        "00000000-0000-0000-0000-00000000002F",
        "00000000-0000-0000-0000-000000000076",
        "00000000-0000-0000-0000-00000000003D",
        "00000000-0000-0000-0000-000000000041",
        "00000000-0000-0000-0000-00000000000A",
        "00000000-0000-0000-0000-000000000053",
        "00000000-0000-0000-0000-000000000018",
        "00000000-0000-0000-0000-00000000001F",
        "00000000-0000-0000-0000-000000000054",
        "00000000-0000-0000-0000-00000000000D",
        "00000000-0000-0000-0000-000000000046",
        "00000000-0000-0000-0000-00000000003A",
        "00000000-0000-0000-0000-000000000071",
        "00000000-0000-0000-0000-000000000028",
        "00000000-0000-0000-0000-000000000063",
        "00000000-0000-0000-0000-000000000055",
        "00000000-0000-0000-0000-00000000001E",
        "00000000-0000-0000-0000-000000000047",
        "00000000-0000-0000-0000-00000000000C",
        "00000000-0000-0000-0000-000000000070",
        "00000000-0000-0000-0000-00000000003B",
        "00000000-0000-0000-0000-000000000062",
        "00000000-0000-0000-0000-000000000029",
        "00000000-0000-0000-0000-00000000000F",
        "00000000-0000-0000-0000-000000000044",
        "00000000-0000-0000-0000-00000000001D",
        "00000000-0000-0000-0000-000000000056",
        "00000000-0000-0000-0000-00000000002A",
        "00000000-0000-0000-0000-000000000061",
        "00000000-0000-0000-0000-000000000038",
        "00000000-0000-0000-0000-000000000073",
        "00000000-0000-0000-0000-000000000045",
        "00000000-0000-0000-0000-00000000000E",
        "00000000-0000-0000-0000-000000000057",
        "00000000-0000-0000-0000-00000000001C",
        "00000000-0000-0000-0000-000000000060",
        "00000000-0000-0000-0000-00000000002B",
        "00000000-0000-0000-0000-000000000072",
        "00000000-0000-0000-0000-000000000039"

The above is reproducible.