Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Understanding the 'status' byte of Airtags #46

Closed
createcandle opened this issue Feb 28, 2022 · 3 comments
Closed

Understanding the 'status' byte of Airtags #46

createcandle opened this issue Feb 28, 2022 · 3 comments

Comments

@createcandle
Copy link

I've read your research paper (via this blogpost), which mentions that Airtags emit a status byte, which "might indicate battery life".

I was wondering if you could tell me more about this byte. Does it indeed represent battery life? If so, wouldn't that make it possible to circumvent the peridic mac address randomisation? E.g.

  • Mac with battery life 56 disappears
  • A new mac with battery life 56 appears.
  • Conclusion: likely to be the same device?

If it's battery life indicator, is it a 0-255 representation of a 100% range?

Or does this status byte also convey other status information?

@Trup3s
Copy link
Collaborator

Trup3s commented Mar 19, 2022

The battery state in the status byte is represented by 2 Bits: with 00 for a full battery and 11 for critically low. These 4 different states might not be enough to assume that a device with a new mac address but the same battery state is the same device.

We explain the status byte in more detail in our new pre-print paper about AirGuard 😉
https://arxiv.org/abs/2202.11813

@createcandle
Copy link
Author

I'm adraid that document doens't bring me any further. For my understanding: could you explain what each of the bit switches in the status byte do and where they are placed in order?

  • two of the 8 must be battery level
  • two of the 8 must be the connection state

But.. which ones? And what do the other 4 bits do?

@createcandle
Copy link
Author

I'd be very grateful if you could share some insight. I've tried looking through the AirGuard code to see if I could learn more.

I'm hoping that it's possible to immediately read if an Airtag is in the "lost" mode. My code currently waits 30 minutes to see if the mac address stays the same, and takes that as a sign that the Airtag is lost.

I suspect there is a better way.

@seemoo-lab seemoo-lab locked and limited conversation to collaborators Mar 23, 2023
@Sn0wfreezeDev Sn0wfreezeDev converted this issue into discussion #116 Mar 23, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant