Skip to content

Avoid using Mail.app plugin for accessing required APIs #240

@ololobus

Description

@ololobus

Disclaimer: I didn't know about openhaystack project and came here with a strange trajectory, so sorry for my ignorance if I'm talking nonsense. Yet, the problem is the same -- use Apple item locations network to track non-Apple certified devices, so here is the idea.

In the README you say

The OpenHaystack application requires a custom plugin for Apple Mail. It is used to download location reports from Apple's servers via a private API (technical explanation: the plugin inherits Apple Mail's entitlements required to use this API). Therefore, the installation procedure is slightly different and requires you to temporarily disable Gatekeeper.

However, as I mentioned I came here from this repository: https://github.com/MatthewKuKanich/FindMyFlipper/tree/main/AirTagGeneration

It does pretty much the same as your project, it's just not that polished. So what I did:

  1. Generate a key pair
  2. Used app on my Flipper Zero to broadcast BLE beacons using this key, when I went for a walk
  3. Registered a blank Apple ID (N.B. this wasn't an account used on any of my Apply devices at this moment, so I guess you just need any account)
  4. Used scripts in the aforementioned repo to get locations history for the past few hours and it worked flawlessly

I've spent a couple of hours reading the code, and from what I've got, in 4. it does the following:

  1. Uses this project https://github.com/Dadoum/anisette-v3-server to generate some random, but specific device IDs
  2. Uses Apple ID credentials to auth in icloud
  3. Then uses https://gateway.icloud.com/acsnservice/fetch with auth info to finally get coordinates

I hope I didn't miss something, while reading the sources and didn't leak any sensitive info, when I was experimenting with it :) But it looks like it just works and doesn't require any complicated Mail.app patching.

What do you think about adopting the same approach openhaystack? It'd simplify installation and potentially allow it's usage on non-macOS devices (not sure).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions