为了您或任何尝试逆向工程和实施Airdrop的人的利益,以下是我找到的内容以及您将要开始的工作:
有两个步骤涉及,可以独立或并行完成.
>反向设计物理WLAN自组织网络的创建和命名方式
为此,请从这里获得iStumbler http://istumbler.net/,并尝试查看当空投运行时是否显示额外的自组织网络.我已经简单地试过,似乎有一个未加密的ad-hoc 802.11b网络,其名称以“H”开头. (但是我可能是错误的,尝试这个.)尝试找到Airdrop使用的模式来命名或识别网络.尝试从多个Mac找到这个.
>反向工程协议
客户加入WiFi网络后,Airdrop将使用Bonjour检测其他客户端.
默认写入com.apple.NetworkBrowser BrowseAllInterfaces 1
然后重新启动Finder.
从这里获取Bonjour浏览器:tildesoft.com
当启动Airdrop时,您将发现您的Mac广告服务“_airdrop._tcp”.它还发布主机和端口的各种IP地址(每次在Finder中打开Airdrop时创建一个新的地址),您的mac正在侦听.它还发布计算机的名称,以及两个键“ehash”和“phash”以及一个值为“1”的键“标志”.您必须查看这两个哈希值是如何生成的,如果它们是必需的.可能是他们.尝试使用其中一个Bonjour库在第二台计算机上发布自己的数据,并查看它们是否显示在Airdrop(在Finder中).
我发现每个客户端公开的TCP服务都使用SSL连接.服务器证书似乎与您的Apple ID相关联.您可以在钥匙扣中找到证书.客户端证书也被服务器请求.这可能是与其他电脑相同的Apple ID证书.你必须试验这个.
我不知道SSL连接中使用什么协议,无法访问第二台Mac进行调查.您将必须MITM连接才能找出(尝试Charles和Wireshark).无论如何,它将被用于传输用户图标以及协商传输,并且还可能移动实际数据.
我认为这样做的公开实施将是非常有益的,即使最终会被限制在具有Apple ID的用户身上 – 他们毕竟是免费的.
祝你好运!