TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Extracting My Data from the Microsoft Band

95 pointsby lazyjeffover 10 years ago

12 comments

mabboover 10 years ago
That&#x27;s a bit disappointing. I was hoping to get one of these bands, but to hear them say that all data is stored on Microsoft&#x27;s cloud is a bit disconcerting.<p>I wanted to track my heart rate while I run. I didn&#x27;t want to let a large company have direct access to my health information.
评论 #8768699 未加载
评论 #8769584 未加载
评论 #8769942 未加载
评论 #8768940 未加载
评论 #8770825 未加载
评论 #8769126 未加载
评论 #8768786 未加载
Maarten88over 10 years ago
It seems to use a standard odata format over ssl with oauth token security. I wonder if it&#x27;s possible to simply attach an Excel worksheet to the data feed (<a href="https://support.office.com/en-us/article/Connect-to-an-OData-feed-4441a94d-9392-488a-a6a9-739b6d2ad500" rel="nofollow">https:&#x2F;&#x2F;support.office.com&#x2F;en-us&#x2F;article&#x2F;Connect-to-an-OData...</a>)
pgbovineover 10 years ago
<i>&quot;Clearly, to get sleep events, the app is constructing a REST call.&quot;</i><p>This is gold :) Nice write-up, Jeff.
zamalekover 10 years ago
I&#x27;d notice those URL parameters anywhere.<p>There is a very strong chance that it fully conforms to the OData spec: <a href="http://www.odata.org/documentation/odata-version-3-0/url-conventions/" rel="nofollow">http:&#x2F;&#x2F;www.odata.org&#x2F;documentation&#x2F;odata-version-3-0&#x2F;url-con...</a> - although I&#x27;m not sure which version (most recent MSFT stuff has been 3.0).<p>So what you could do is hit a URL such as:<p><pre><code> https:&#x2F;&#x2F;prodphseus.dns-cargo.com&#x2F;&#x2F;v1&#x2F;Events?$filter=AverageHeartRate gt 90 </code></pre> To get the events where you pushed yourself above 90.
评论 #8774864 未加载
andsosayallofusover 10 years ago
Where&#x27;s the money here? It&#x27;s not a subscription based service, so what financial sense does it make to dump this data straight to a server?<p>I can&#x27;t imagine there&#x27;s complex data processing being done that a smartphone can&#x27;t handle, so I assume the data is being sent back because it&#x27;s somehow useful or valuable to Microsoft.. but how?
评论 #8771440 未加载
评论 #8771389 未加载
xg15over 10 years ago
As he already decompiled the app, wouldn&#x27;t a more promising route be to figure out the Bluetooth communication between the app and the band? Using this knowledge, you could eventually write your own (private) app and bypass Microsofts&#x27;s servers completely. (Provided they don&#x27;t use some crazy authentification and&#x2F;or encryption schemes in the Bluetooth protocol.)
lhlover 10 years ago
I started poking around w&#x2F; mitmproxy the other day as well, since I had started to get a little tired of waiting (Microsoft has promised an open API&#x2F;SDK of some sort, but there haven&#x27;t been any updates to any of the software since release) w&#x2F; similar results. (I did this against the iOS app).<p>So I&#x27;ll just post a couple notes:<p>* auth appears to be using OAuth WRAP (deprecated as a spec, but Microsoft appears to use it for Live logins), so I&#x27;m sure could be pretty easily extracted for an API library<p>* As mentioned the API mostly talks to an endpoint on and the returns are gzipped JSON <i>except</i> for a PUT to prodwus0sts.blob.core.windows.net for the binary log of your actual data (there&#x27;s a subsequent PUT that then sends the UploadId and some other metadata to the API server)<p>People have mentioned wanting to avoid sending your data to the cloud completely, and that should be completely possible. The easy way atm is that you could just mitm the endpoints and sync as normal w&#x2F; the app.<p>However, there are at least a couple of people that have successfully reverse-engineered the BTLE protocol, although I haven&#x27;t seen anything fully published yet. This appears to mostly&#x2F;primarly be based on digging through the Windows client&#x27;s DLL.<p>Pic of source w&#x2F; some of the BT protocol: <a href="https://twitter.com/JustinAngel/status/527955001436418048" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;JustinAngel&#x2F;status&#x2F;527955001436418048</a><p>Some BT functions: <a href="https://twitter.com/JustinAngel/status/528383467742957571" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;JustinAngel&#x2F;status&#x2F;528383467742957571</a><p>Methods extracted from the dll: <a href="https://twitter.com/JustinAngel/status/529876592479047682" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;JustinAngel&#x2F;status&#x2F;529876592479047682</a><p>(On OSX, strings gives you significantly less useful information, although apparently it was built by &#x27;ianhowle&#x27; and there&#x27;s a native Objective-C &quot;CargoKit&quot; library)<p>Note, there&#x27;s one open source project that has theming and plans on building live sensor output: <a href="http://unband.nachmore.com/" rel="nofollow">http:&#x2F;&#x2F;unband.nachmore.com&#x2F;</a><p>And there&#x27;s a closed source phone already that <i>does</i> access all the sensor data in realtime: <a href="http://www.windowsphone.com/en-us/store/app/band-sensor-monitor/68f97b41-de2f-4579-a473-5d476a5c5196" rel="nofollow">http:&#x2F;&#x2F;www.windowsphone.com&#x2F;en-us&#x2F;store&#x2F;app&#x2F;band-sensor-moni...</a><p>I&#x27;m not too familiar with Windows Phone, but I believe you can access and decompile an unencrypted XAP if you have a rooted Windows Phone to see what it&#x27;s doing.<p>I don&#x27;t really have much experience&#x2F;use&#x2F;access to Windows stuff in general, but for someone w&#x2F; that kind of experience, I can&#x27;t imagine it being very hard to deconstruct.
TazeTSchnitzelover 10 years ago
Interesting they store so little on the device. Does the Band generate a lot of data?
评论 #8768768 未加载
ubercowover 10 years ago
The most amusing part for me is the domain name dns-cargo.com Seems like a random choice. Wonder if this was just some spare throwaway domain they had laying around.
sengstromover 10 years ago
A nice hack and a good list of the things you may want to fiddle with if you want to explore phone applications calling home just in general.
zeinzigover 10 years ago
i knew something had to be up when syncing between band and app required internet access! my fitbit always synched with just bluetooth.
Tommyatomicover 10 years ago
So far despite the decent specs the Microsoft Band is disappointing to pretty much everyone I&#x27;ve spoken to who bought one. Now that I know how the data storage functions additional disappointment abounds. This is clearly no exception to equating the MS Band as the windows 8 of smartwatches. I am fanatically thrilled I couldnt find one when I wanted to buy one.