Skip to content

Latest commit

 

History

History
133 lines (127 loc) · 5.27 KB

nearby_info.md

File metadata and controls

133 lines (127 loc) · 5.27 KB

Nearby Info Message

Nearby Info messages broadcast the usage state of an iOS device to other nearby devices. Nearby Info messages are broadcast continuously in modern iOS versions regardless of user activity, and can be used to determine general usage states (phone locked, active user, driving a vehicle) passively.

Nearby Info Message (btcommon.apple.type == 0x10)

Field Name Info Example Length Type Notes
btcommon.apple.nearbyinfo.statusflags Nearby Info Status Flags 0x03 1 UINT8
btcommon.apple.nearbyinfo.unk.flag Unknown Flag Off (0x0) 1 BOOL Not sure about this flag
btcommon.apple.nearbyinfo.primary_device Primary Device Flag No (0x0) 1 BOOL
btcommon.apple.nearbyinfo.unk.flag2 Unknown Flag Off (0x0) 1 BOOL Seen with iOS 11
btcommon.apple.nearbyinfo.airdrop_status AirDrop Receiving Status Flag Off (0x0) 1 BOOL
btcommon.apple.nearbyinfo.action_code Action Code Locked Phone (3) 1 UINT8
btcommon.apple.nearbyinfo.dataflags Data Flags 0x1c 1 UINT8
btcommon.apple.nearbyinfo.authtag_present Auth Tag Present Flag Yes (0x1) 1 BOOL
btcommon.apple.nearbyinfo.watch_locked Watch Locked Flag No (0x0) 1 BOOL Not sure about this flag
btcommon.apple.nearbyinfo.autounlock_watch Auto Unlock Watch Flag No (0x0) 1 BOOL Not sure about this flag
btcommon.apple.nearbyinfo.autounlock_enabled Auto Unlock Flag No (0x0) 1 BOOL Not sure about this flag
btcommon.apple.nearbyinfo.unk.flag3 Unknown Flag On (0x1) 1 BOOL Not sure about this flag
btcommon.apple.nearbyinfo.wifi_status WiFi Status On (0x1) 1 BOOL
btcommon.apple.nearbyinfo.authtag.fourbyte 4 Byte Auth Tag No (0x0) 1 BOOL
btcommon.apple.nearbyinfo.airpod.connection AirPods Connection Status No (0x0) 1 BOOL This needs more teseting
btcommon.apple.nearbyinfo.os iOS Version iOS 12.x 1 String
btcommon.apple.nearbyinfo.auth Auth Tag 839096 3 Bytes
btcommon.apple.nearbyinfo.postauth Post Auth Tag Data 80 1 Bytes Seen in newer iPhones (X, Xs, 11)

The message fields, observed values and their meaning:

  • Type: 1 byte, 0x10 -- indicates a Nearby Info message
  • Length: 1 byte, 0x05 -- number of bytes in message payload
  • Status Flags: 4 bits -- Used as a bitmask, more than one may be enabled at any time
    • 0x01 -- Indicates if this is the primary iCloud account device
    • 0x02 -- Unknown
    • 0x04 -- Indicates whether AirDrop Receiving is enabled
    • 0x08 -- Unknown
  • Action Code: 4 bits -- indicates the action state of the device
    • 0x00 -- Activity Level Unknown
    • 0x01 -- Activity Reporting Disabled
    • 0x03 -- Idle User
    • 0x05 -- Audio playing while screen locked
    • 0x07 -- Active user (screen on)
    • 0x09 -- Screen on with video playing
    • 0x0A -- Watch on wrist and unlocked
    • 0x0B -- Recent user interaction
    • 0x0D -- User is driving a vehicle
    • 0x0E -- Phone or Facetime Call
  • Status Flags: 8 bits -- Used as a bitmask, more than one may be enabled at any time
    • 0x01 -- Indicates if AirPods are connected and the screen is on
    • 0x02 -- Indicates if the Authentication Tag is 4 bytes
    • 0x04 -- Indicates whether WiFi is on or off
    • 0x08 --Unknown
    • 0x10 -- Indicates whether the Authentication Tag is present or not
    • 0x20 -- Indicates whether the Apple Watch is locked or not
    • 0x40 -- Indicates whether Auto Unlock on the Apple Watch is enabled or not
    • 0x80 -- Indicates whether Auto Unlock is enabled or not
  • Authentication Tag: 3 bytes