皇冠体育寻求亚洲战略合作伙伴,皇冠代理招募中,皇冠平台开放会员注册、充值、提现、电脑版下载、APP下载。

首页科技正文

Usdt第三方支付平台(www.caibao.it):从Microsoft Band以及 Hello Sense 装备中提取自己的历史数据

admin2021-07-10136技术

AllbetGmaing手机版下载

欢迎进入AllbetGmaing手机版下载(www.aLLbetgame.us),欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

,

许多消费者小我私人跟踪装备的保质期似乎只有几年,因此,若是你想要耐久纪录你的历程,你就必须弄清晰若何绕过他们的应用从他们的服务器取回你自己的数据。否则,一旦他们的应用或服务器住手事情,你的数据就会消逝。

我使用过两个跟踪装备,它们不容易导出数据,Microsoft Band(一款康健追踪可穿着装备,2019年5月关闭)和Hello Sense(睡眠追踪器,2017年6月关闭,但从未发送过他们即将公布的数据导出说明),因此,我正在纪录检索自己数据的历程,希望这对其他试图在其他装备上做同样事情的人有用。

Microsoft Band(2014年12月的纪录)

当Microsoft Band公布时,我激动地发现这是第一款既配有心率传感器又配有全球定位系统(GPS)的腕带装备。通太过析,这款手环也遭遇了困扰许多有生长远景的可穿着装备的同样问题,即无法导出我自己的每分钟数据。

Microsoft Band可以同步到自己的智能手机应用“微软康健”(Microsoft Health)上,但在网上举行了一番搜索后发现,没有人知道有什么方式可以将他们的数据公布出去。我问微软研究院Microsoft Band的设计职员,他是否知道从Band中获取数据的方式,设计职员示意这种数据是不能果然的。

数据在那里?

于是我从手机应用程序中提取数据,以找出这些数据是若何存储的。通过想法导出了一些文件,但在挖掘之后,我发现了具有逐日摘要的缓存数据,而不是我所知道的存储在某个地方的每分钟的原始值,由于Microsoft Health应用中的睡眠图表显示了更细粒度的数据(见下图)。

我决议进一步挖掘并反编译应用程序,以通过读取应用程序代码来领会数据的去向。我在手机上使用了一个名为ES File Explorer的应用程序,以将应用程序包(apk文件)从手机下载到盘算机上(右图)。

apk只是一个zip文件,下面是Microsoft Health apk文件解压缩后的样子。

该应用程序的主要代码位于一个名为classes.dex的文件中,该文件是Dalvik可执行文件,基本上是一个已编译的Java二进制文件。文件名堂界说得很好,我很幸运找到了一个名为jadx的开源工具来反编译源代码。

在编译完classes.dex文件后,我浏览了几个文件夹,在“microsoft/”文件夹中找到了该文件夹,该文件夹似乎是Microsoft Health应用程序的根目录。

每个文件夹里都有数百个文件,以是我搜索了像“sleep”这样的要害字,然后发现“sleeppevents”是一个经常泛起的词。

当我在/src/com/microsoft/krestsdk/services/KRestServiceV1.java中遇到这个getsleeppevents函数时,我感应很惊讶。

显然,为了获取睡眠事宜,应用程序正在组织一个REST挪用。以是Band必须与手机上的应用程序同步,而应用程序则与微软拥有的一些服务器同步。这注释了为什么我无法在应用的文件转储中找到原始数据,由于只有缓存的数据是内陆存储的。

阻挡新闻

我的下一个直觉是实验阻挡我手机上的应用程序和微软服务器之间的数据,看看正在传输什么。通常,这是通过在应用程序中使用署理来完成的,因此我首先实验在Android手机上启用署理(下面的左侧屏幕截图)。

经由一些测试,很显著,Android中的署理功效仅影响Web浏览器,而不影响Microsoft Health应用程序。因此,我实验了另一种技巧:将手机wifi的网关(即路由器)设置为我的盘算机,而不是使用DHCP,以便将所有网络数据发送到我的盘算机。我编辑了此设置(上面的右侧屏幕截图)并启用了IP转发,因此网络数据包仍然可以到达互联网,而不是打到我的盘算机上而丢失。

接下来,我检查了一下手机上的浏览器是否还在运行,效果证实这是个好兆头。然后是棘手的部门。我设置了一个数据包筛选器,以将传入的数据包转发到盘算机上的其他端口。在一个新的.conf文件中:

然后运行以下pfctl(数据包过滤适用程序):

然后我安装了一个流量检查器(一个名为mitmproxy的开源工具),研究这些标志,直到我弄明晰若何激活透明署理模式。

这基本上模拟了中央人攻击来阻挡数据,注重,这只是捕捉我的手机发送和吸收的数据,以是这不是通常意义上的真正攻击,而只是我查看我的手机正在处置的数据的一种方式。

当我接见网站时,我可以放心看到流量通过mitmproxy控制台路由。然则,当我启动Microsoft Health应用程序时,它基本不会启动(下面的左侧屏幕截图)。

最终,我发现它使用的是HTTPS,该HTTPS在另一个端口上运行。以是我做了一些改变。首先,我在手机上安装了SSL证书,以便手机可以信托阻挡新闻的盘算机(上面的右侧屏幕截图)。然后,我在数据包过滤器中添加了一行,以通过在.conf文件下面添加分外的一行并重新运行pfctl下令来也在HTTPS端口上转发数据包。

基本上,不是通过Microsoft Health应用程序通过HTTPS与Microsoft服务器举行通讯,而是通过我的盘算机路由所有通讯。 mitmproxy工具阻挡SSL密钥并注入自己的密钥,因此它可以解密和重新加密通过它的新闻。

最后,我能够看到来自Microsoft Health应用程序的流量。幸运的是,这些请求很容易弄清晰,数据也很容易明晰。

注重,为了请求数据,手时机向一个URL(如https://prodphseus.dns-cargo.com/v1/Events(eventId='1234567890')?$expand=Sequences)发出一个REST GET请求,若是你只对一个事宜的数据感兴趣(好比昨晚的睡眠),那么此时你就会感应知足,因此你可以保留来自Microsoft prodphseus.dns-cargo.com服务器的响应并感应喜悦。为了获得更多的事宜,你可以简朴地址击每次睡眠(左图),运动(右图),或其他类型的事宜,直到你的手机(和你的电脑阻挡信息)吸收到所有的数据。然后将它们保留到一个文件中,你可以在你喜欢的文本编辑器中查看它,并使用剧本处置它。

Usdt第三方支付平台

菜宝钱包(www.caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

获得完整的导出

然则若是你不想手动检查你手机上的每一个入口来让它传输数据呢?基本上,当你有Band而不是单个事宜的时刻,你可以获得整个时间的数据。然后回忆一下本文开头的反编译Java代码,其中包罗:

它提供了一个线索,可以检索完整的数据集而不必选择手机上的每个条目,你可以将URL编辑为:

简朴地将URL粘贴到浏览器中是行不通的,由于你必须重用Microsoft Health应用正在使用的身份验证令牌,但编辑先前的请求应该可以让你检索整个原始数据流,而不必逐个检索每个事宜。

总的来说,Band的事情原理是,一些数据被缓存在手机上,而其他数据则存储在微软的“云”服务器上。通过阻挡手机应用程序对服务器的请求,你可以下载正在发送的原始数据,或检索你的整个历史数据,如心率、gps、步数等每分钟的数据。

Hello Sense(2017年1月的纪录)

我异常喜欢用Hello Sense,这是一个颇受迎接的Kickstarter项目,其口号是“领会更多,睡得更好”。这是一个设计优美的仪器,内里装有传感器,可以告诉你你的睡眠环境,尚有一个枕头上的运动跟踪夹子。通过研究,我知道了这个装备是若何丈量的。

用了几个月,我却发现无法从传感器获取数据,再次令人失望。相反,我只能查看它天生的图表,且只能看到Hello Sense应用允许我看到的内容。更令人生气的是,Kickstarter的页面上准许说:“我们正在开发工具,让你可以导出、使用或删除你的数据。”Hello Sense会同步到自己的智能手机应用程序Sense,但很显然,没有现实设施导出此数据。现实上,在寻找解决方案之后,我所能找到的只是其他用户对缺乏数据导出性的埋怨。

阻挡新闻

我将此作为一个挑战,并希望实验与Microsoft Band相同的程序来阻挡新闻。许多应用程序将使用REST挪用来请求数据的特定部门,因此知道若何这样做可以让你与保留数据的服务器举行对话。基本上,我会阻挡Sense应用程序和它的服务器之间的新闻,看他们若何验证并将我的数据传输到应用程序,以制作图表。然后我可以学习“语言”,模拟应用程序,从服务器请求我自己的数据。

和以前一样,我第一次在我的Android手机上启用署理(左下方截图),我的Macbook被设置为网关。然后再设置一个数据包过滤器,将传入的数据包转发到盘算机上的其他端口。在新的.conf文件中:

然后像以前一样运行pfctl,并以透明署理模式启动mitmproxy来阻挡数据。

最后,我在我的手机上安装了一个来自http://mitm.it的SSL证书,这样它就可以阻挡通过https(端口443)发送的新闻。

当接见网站时,流量通过我的mitmproxy控制台被准确地路由(见右上方的截图,可以看出我窃听了手机的Chrome浏览器导航)。然而,当我启动我的Hello Sense应用程序时,它没有准确毗邻到服务器,由于平安地毗邻到服务器时泛起问题。

反汇编程序

我想更好地领会是什么在应用程序中导致错误泛起,这次我使用Android Debug Bridge从我的手机中提取了apk文件。与Microsoft Ban应用程序一样,主代码位于apk中的一个名为classes.dex的文件中。

仔细检查代码后,很显著该应用程序使用了一个名为OkHttp的库,该库可以举行某种类型的证书牢固。基本上,其中存在用于检查SSL证书是否准确的代码,若是不是,则会引发异常。此时,有两种选择:我可以反汇编该应用程序(请注重,反编译后的Java不能简朴地重新编译为一个应用程序,因此需要将其反汇编为 *** ali并举行编辑)并删除证书牢固检查。

然则,当我在查看源代码时,我遇到了一个名为ApiService.java的文件,它显示了应用程序为从服务器检索数据而举行的REST API查询。因此,从理论上讲,我要做的就是发出与应用程序相同的查询,然后服务器会将原始数据发送回去!

注重,为了请求数据,手机使用了/v2/timeline/{date}/events/{type}/{timestamp}等链接。这个时间轴现实上就是我想要获得的在一个特定日期的晚上睡眠中发生的所有事宜。

然则在我发送自己的REST查询之前,服务器会要求使用OAuth协议举行身份验证。 OAuth身份验证使用客户端ID和secret举行。因此,我在源代码树中搜索了此新闻,并幸运地在一个简朴的设置文件中找到了它。

我突出显示了指定客户端ID和secret的两行,这个文件还告诉我REST服务器的基本URL,它是https://api.hello.is,因此我现在有了所需的所有内容:REST服务的主机名,请求的名堂以及客户端ID和secret。注重,尚有几行被涂黑了,我以为这是不应该果然的隐秘密钥。

发送POST请求

在任何web浏览器中发送GET请求都很容易,只需输入准确的URL即可。但制作一个POST请求,这是我需要做的,需要使用像curl这样的下令行工具或寻找一个应用程序来处置烦人的部门。我用的是邮差,它是免费的,设计简朴(而且我喜欢双关语的应用程序名称)。

因此,我在POST请求中输入了适当的字段,使用了异常尺度的OAuth名堂。凭证我在源代码中找到的内容,URL是https://api.hello.is/v1/oauth2/token。

让我有点惊讶的是,请求中的Content-Type标头需要设置为“application/x-www-form-urlencoded”,否则请求将被拒绝。一旦设置了该参数,POST请求的效果就是access_token,它使我能够接见可以使用其他查询获取的其余数据。在下面的屏幕截图中,我先容了部门接见令牌,以防止人们窥探我的睡眠数据。

有趣的是,我在标头中将接见令牌用作“授权”字段(需要在其前面加上单词“Bearer”,以注释它是Bearer令牌类型)。现在,我可以将URL更改为所需的URL,在本例中为http://api.hello.is/v1/room/current,可以从任何地方查看我当前的房间状态。

若是你真的想对你的数据做些什么,你可以编写自己的剧原本自动验证,然后获取几天的数据,例如确立一个在线仪表板或向自己发送睡眠建议。

可能Hello Sense存储的最详细的数据是它若何对我在晚上的时间举行分类,分为醒着、中等睡眠、优越睡眠等。这是在应用程序中以条形图的形式显示的时间轴,但现在我可以接见现实数据来天生我自己的可视化效果,或举行对照和剖析。一夜之间发生了许多事情,但情形是这样的。

好新闻是,Hello Sense已经有了一个用于数据导出的API。我花了一些时间才弄清晰若何接见这些数据,然则我想他们还没有果然公布此信息,由于他们想为API提供更好的接口。

本文翻译自:https://jeffhuang.com/extracting_data_from_tracking_devices/

网友评论

1条评论
  • 2021-07-10 00:01:39

    新2手机代理管理端www.9cx.net)实时更新最新最快的新2手机管理端网址、新2手机代理管理端、新2手机会员管理端。提供新2APP下载,新2APP包含新2代理线路、新2会员线路、新2备用登录线路、新2手机版登录线路、新2皇冠登录线路及网址。

    资深读者推荐