标签: 苹果

  • 记一次被 AirTag 跟踪的经历

    记一次被 AirTag 跟踪的经历

    前些天,我们几家人一起去川西自驾游,旅行到第 5 天的时候,我突然收到一条推送:

    发现正在跟随您移动的 AirTag

    此物品的物主可查看其位置。轻点打开“查找”并查看可用操作。

    我是 TestV 的铁丝,对 AirTag 闻名已久,于是这条推送立刻引起了我的注意。我想了想,像我这种家里蹲,应该没人想追踪我。同游的亲戚里,倒是有社会关系比较复杂的;而且话说回来,如今这个年代,家里人互相丢个 AirTag 也不是不可能。

    于是我先找到老婆,本意是让她先找大家试试口风,没想到她立刻就跟所有人都说了,然后全家总动员,开始寻找陌生人放下的 AirTag。

    0. 关于 AirTag

    其实 AirTag 是个不小的发明。它本身不支持联网,无法使用 Wi-Fi 或者 4G/5G;不支持存储;也不支持定制发送的内容。这些“瘦身手段”使得它的构造可以尽量简单,体积小巧;尽量省电,一颗普通纽扣电池可以使用很长时间。

    AirTag 会定时向周围广播位置,只有苹果设备认得这些加密数据,它们收到广播后,如果处于联网状态,就会把这些信息转发给苹果的中心服务器。AirTag 的拥有者可以登录到苹果服务器查看 AirTag 的位置。

    AirTag 可以用来追踪物品,但是也可以拿来追踪人。

    1. 为什么我会收到推送

    正常情况下,这些数据会通过拥有者的设备转发(因为他们会和 AirTag 长期近距离接触);或者在开放区域,就会被一批随机设备转发。

    我们的情况比较特殊:我们在川西自驾,很长一段路程甚至连网络都没有,于是 AirTag 周围就只有屈指可数的几台苹果设备可以作为转发渠道。而这几台设备都不是 AirTag 拥有者的设备,当一个设备反复帮不是同一个 Apple ID 的 AirTag 转发位置信息后,就会触发苹果的风控系统,苹果就要通知 ta:

    小心,可能有人在跟踪你。

    2. 寻找 AirTag

    按照推送,打开”查找“,可以看到这个 AirTag 一路跟着我们跨域几百公里,从昨晚的酒店来到今天的酒店,甚至包含中间去做核酸的当地医院。基本可以排除偶遇同路,一定是有人故意放在车上、或者行李里。

    ”查找“可以让 AirTag 发出声音,于是我在几个房间转了一圈,确认无法连接。猜测 AirTag 应该在车上,于是我带着一群小朋友(其实也不小了)来到停车场,能连接的上,但是没有声音。那么只有两个可能:

    1. 喇叭被拆掉了
    2. 藏的比较深,声音传不出来

    为排除(2),大家开始翻行李。翻来翻去,翻去翻来,始终找不到,多半是喇叭被拆掉了。看来放 AirTag 的人处心积虑不想让人找到。眼看越来越晚,我就把大家拉回去了,今晚先放弃。

    我回去搜了半天,但没找到什么有价值的信息。能够帮被追踪者查找 AirTag 的方式,只有播放声音,或者蓝牙信号定位。前者拆了喇叭就白给,后者则要求环境可控,比如能够关闭或屏蔽大部分蓝牙设备,但现实中很难做到。如果是自己的 AirTag,苹果提供了非常丰富的定位手段;而别人的 AirTag,就没法使用。

    第二天,我尝试了前一晚积累的几个想法,都没成功。于是大家决定先放弃。大家都认为不会是追踪自己,多半跟原车主有关,为了接下来的旅程,就先不管吧。

    3. 答案

    回家之后,经询问,AirTag 是其中一位车主放在自己车上的,为的是好找车。至于为啥拆掉喇叭,没再细问。

    事实就是这么简单,跟吴啊萍一样。

    4. 想法

    这件事情之后,我对 AirTag 的不信任进一步加深了。

    1. AirTag 很小、很薄、很容易藏。攻防两方的地位不对等,被投放的人想找到 AirTag 很困难。
    2. AirTag 并不如设计的那般可靠,拆喇叭很容易,拆掉之后几乎没法寻找。
    3. AirTag 非常容易买到,没有持有成本。
    4. AirTag 的认知度非常低,大外甥告诉我,他两天前就接到过推送,但他根本不了解 AirTag,没多想就直接关掉了。

    如果有个人存心想追踪另外一个人,他可以用很低的成本(rmb 100+)了解到对方的行踪,对方可能长时间都不知道自己处于被跟踪状态。苹果应该设计更好的方案,或者增加 AirTag 的持有和使用成本。


    TestV 视频

  • Yosemite坑真多

    本着顶配解千愁的指导原则,入职2年半之后,借着南迁广州的机会,我向公司申请购置一批新机器。同配置笔记本性能远远落后于台式机,所以我自然而然的选择了顶配iMac 27作为主力开发机。升级CPU和内存的版本没有现货,等机器送到,大约是10月13日。

    关注IT产品尤其是苹果产品的同学可能记得,16日苹果开发布会,推出视网膜屏的iMac,连CPU带显卡甚至屏幕都有大幅升级……顶配的日子只持续了3天……哭昏在厕所……

    这还不是最惨的。更早的时候,苹果发布了Mac OS 10.10优胜美地(Yosemite),直接安装在新机器里,我这台自然也是。新系统有诸多纸面所载的改变,我就不多说了,跟本文关系不大;我只说跟开发相关的这部分。

    403错误

    升级后的Mac OS集成Apache 2.4.9,里面默认启用了authz模块,于是增加虚拟主机的时候,<DIERECTORY>配置里面必须写成

    Require all granted

    不然就会报403错误。我以前处理403都是暴力改权限,这次恨不得把/的权限都改了都没用,后来终于google到解决方案。

    不能使用Homebrew安装的php,以及不能用Homebrew升级php

    我有新版本癖,每周三次更新——使用开源产品的好处就是绝对不怕找不到更新。当我上周例行更新,发现PHP 5.5.19安装失败,报Cannot find OpenSSL's <evp>,因为项目紧急所以我只好先不管它。后面配置apache的时候,发现随Homebrew安装的新版libphp5.so不能用,apachectl -t 检查通不过,只好使用系统自带的5.5.14版。

    今天又google了下,终于找到解决方案。原因没搞太明白,总之是升级了之后 /usr/include 有点问题,需要重新链接一下。正确的解决方案是

    1. 安装XCode最新版
    2. 安装XCode命令行工具(CLT)最新版
    3. 试一下,不行的话重新链接一下 /usr/include
      sudo ln -s /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include
    4. 然后 `brew upgrade` 就可以了

    这样搞了之后新的5.5.19的libphp5.so也可以使用了。

    丢失PNG支持

    如果只是版本低一点,其实是可以忍的。结果Mac OS团队不知道怎么想的,竟然把PHP中的PNG支持去掉了,导致我在本地开发的时候验证码出不来。如前文所述,这次升级本来就有诸多问题,验证码出不来我的第一想法肯定不是看PNG支持。而且,我们一直在用的验证码生成程序中,将生成函数写成 ImagePNG,竟然能运行,也是让我很奇怪……

    换用Homebrew安装的5.5.19 libphp5.so之后,问题解决。


    暂时遇到这么多问题,日后补充。