看我如何逆向智能手环控制无人机

一年前,我买了一个智能手环,型号为SONY SmartBand SWR10。就像大部分智能手环一样,它对我没什么用一直放在抽屉里。

背景

突然有一天我有了个很好的灵感——朋友邀请我加入他们的“NASA太空”APP黑客马拉松队伍,而我选择了“不要撞我的无人机”这个课题,它包括无人机控制和飞行信息方向的解决方案,于是我决定用我的手环来控制无人机。

当黑客马拉松开始时,我去寻找我的手环相关的开发API和开发工具,我很惊讶它居然没有任何相关资料。论坛上也有用户说SONY只提供了一些闭源的SDK给他们的程序员,而我的黑客马拉松只允许开源的解决方案。事实上我认为创建我自己的接口并不困难。

思路

于是我启动了我的手环应用,然后打开“蓝牙HCI监听日志”。这个功能可以嗅探所有的流量并将其导入到SD卡中。

我打开日志:

然后用WireShark打开。

这好像是在运行蓝牙低能耗协议,并且比 GATT协议更特殊,这是一个双向协议。手机有一个“GATT服务”,外围设备会接收“GATT特征码”而它包含所有二进制数据。

我选择了第一个UUID (00000208–37cb-11e3–8682–0002a5d5c51b) 然后在谷歌搜索。我希望搜索到一些传统的标准GATT服务,但我却发现了一些有趣的东西。

瞬间我觉得我可以完成了——我发现了别人对这个协议的逆向。同时也证实了我是对的,这个项目包含了连接,握手,电池状态读取,连接保持的工作原理实现。但是,加速计数据很奇怪。我将加速计上的数据挂载到MPAndroidChart,实时的图表显示如下:

分析

虽然输出与倾斜高度相关,但是值是完整的。在阅读实现代码之后,32位的整数值好像包含3个10位的值。这是合理的,因为大部分的加速计有10位的精度(大部分ADC)。数据证明了这一点,看前两部分:

但是解析这3个10位的数据也很奇怪,每几个倾斜的值都会在511到-512之间变化,没有偏移能够改变它(没有整数溢出产生)。所以,我觉得SONY是不是用了什么传统的二进制打包方法,或者他们有编码算法和压缩算法。

我尝试用Protobuf,MsgPack,Thrift 来解析,但是都没用。这时我只有一天来讲加速计跟我的无线飞行器关联到一起。但就在我绝望时,在查看他们的APP反编译结果的半小时后,我发现了下面这些东西:

前半部分的[0,512]是反的,这就是我获得这些峰值的原因。我用简单的异或对其进行调整。我把他们调整到[-1,1范围],现在要做的就是把加速计和无线控制器建立连接(你可以在GitHub上找到实现)。

最终我完成了这个项目,并且赢得了奖项。

*参考来源:medium.com ,FB小编老王隔壁的白帽子翻译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-05-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Pythonista

Linux入门

  如果Windows意味着生活和游戏,那么Linux久代表着严谨和工作,学习Linux代表着你要开发软件,你要测试程序,你要维护服务器。那么依据呢?请看如下:

72840
来自专栏ThoughtWorks

浅谈微服务架构中的鉴权体系 | 洞见

在微服务架构中,有一个核心的问题是处理好“集权”(中心化)和“放权”(去中心化)的关系。虽然微服务的主旋律是把数据和业务拆成小而独立的模块,但我们仍然需要一个强...

36360
来自专栏Fred Liang

2018.8.12 每周分享

Google 透明度报告提供相关数据,帮助您了解政府和公司的政策与措施 会对用户的隐私、安全以及信息存取权造成怎样的影响。

8820
来自专栏CSDN技术头条

Uber 四年时间增长近 40 倍,背后架构揭秘

据报道,Uber 仅在过去4年的时间里,业务就激增了 38 倍。Uber 首席系统架构师 Matt Ranney 在一个非常有趣和详细的访谈《可扩展的 Uber...

27970
来自专栏申龙斌的程序人生

笑来投资演练小程序0.9版本发布

在阅读了李笑来得到APP上《通往财富自由之路》专栏第24周的“开始投资活动的条件是什么”文章之后,我快速用C#写了一款windows小程序,没想到发布在学习小组...

33970
来自专栏腾讯大数据的专栏

海量终端,秒级送达!腾讯云移动推送信鸽后台探秘

终端单连接 消息推送已经成为APP的标配,要推送就要有长连接,而长连接要靠后台服务来维持。传统的推送实现中,每个APP使用一条长连接,启动一个后台服务,你一个我...

25850
来自专栏数据和云

防范攻击 加强管控 - 数据库安全的16条军规

近日的数据安全事故,引发了很多企业的普遍关注,而不少用户从彻查中确实发现自己的数据库已经被注入,这为大家上了数据安全的重要一课。 甚至有的企业要求停用PL/SQ...

31760
来自专栏FreeBuf

域名阴影(Domain Shadowing)技术:知名钓鱼攻击工具包Angler Exploit Kit又添杀招

臭名昭著的钓鱼工具包Angler Exploit Kit最近更新了许多漏洞利用工具(含0day),以及一项名为“域名阴影(Domain Shadowing)”的...

24590
来自专栏区块链

网腾科技-军规级网络安全渗透服务

安全不仅是防火墙,是一份责任与态度,更是一份投入。 用黑客思来维构建安全防线,知己知彼百战不殆! 安全渗透 渗透测试是对网站和服务器的全方位安全测试,通过模拟黑...

224100
来自专栏FreeBuf

手机数据传输安全分析

如今手机已经成了我们离不开的伙伴和知己,它了解我们的日常生活。然而每一天在路上的时候,它都会收集我们的私密信息。平时我们会用它拍照,在社交网络中分享我们的心情;...

233100

扫码关注云+社区

领取腾讯云代金券