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.

Nike+ FuelBand SE BLE Protocol Reversed

185 pointsby daw___over 10 years ago

14 comments

albertzeyerover 10 years ago
It&#x27;s interesting that somehow, because this is reverse engineered now and I can do funny things with it and hack around with it, I actually consider to buy this thing.<p>I would wish that more companies would allow for modifications &#x2F; hacks right from the start and actually support that. That would attract the hacker community and might result in many more interesting use cases.
评论 #8971119 未加载
评论 #8972804 未加载
eyearequeover 10 years ago
This might be helpful for anyone wanting to play with low level BT traffic: <a href="http://ubertooth.sourceforge.net/" rel="nofollow">http:&#x2F;&#x2F;ubertooth.sourceforge.net&#x2F;</a>
评论 #8969745 未加载
spydumover 10 years ago
So I&#x27;m confused.. was author just not able to follow thru code path to find that the auth token was just spamming 1&#x27;s? or was it a bit more cryptic than that?<p>the real code in the APK for computing the auth_token was probably some developers some pride and joy, worked weeks on it.. but when it came time to ship, damn thing wouldnt work with the shipped hardware.. so they buried a small assignment which overwrote the original computed auth token just to make the thing work? where is THAT code, i&#x27;d like to see it! If so, that is one of those great snippets where you can visually see the developer gave up. We should have a name for that sort of thing (I&#x27;m guilty of the same.. in my.. older works).
评论 #8972193 未加载
userbinatorover 10 years ago
Here is a related, quite detailed teardown of the FuelBand: <a href="http://www.youtube.com/watch?v=7xdajSS_cOU" rel="nofollow">http:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=7xdajSS_cOU</a>
评论 #8971402 未加载
yonranover 10 years ago
Fun stuff. I would also recommend using some kind of packet sniffer to collect sample data which can make your static analysis easier. To do this, buy the CC2541 development kit with packet sniffer for about $25. Alternatively, you can write a BLE proxy (using two Bluetooth adapters). To Apple’s credit, the CoreBluetooth API on iOS does not let the app know the MAC address of the peripheral, so the app will never know that it is talking to your proxy vs the actual device.
评论 #8969696 未加载
eyearequeover 10 years ago
Imagine how much fun you could have with sending messages to runner&#x27;s bands at Nike branded half and full marathons! :) Not that I would do that.
评论 #8970203 未加载
revelationover 10 years ago
Hardware reverse engineering has gotten so much easier since everyone is obligated to deliver some useless Android (preferred) or iPhone app with their consumer junk. No one seems to bother with obfuscation.
mrsteveman1over 10 years ago
Very interesting, I&#x27;ve not yet ventured in to the BLE protocol world yet. I&#x27;d love to see what the Fitbit protocol looks like, they require a special USB dongle just to connect to Macs that already have BLE built-in, yet iOS hardware works on its own. Strange.<p>My first opportunity to reverse engineer undocumented hardware was Ubiquiti Networks Airview2 900MHz&#x2F;2.4GHz spectrum analyzer USB sticks, the cheap $39 ones that hit the market back when Wi-Spy sticks were really the only comparable hardware and were quite a bit more expensive. They have an undocumented serial protocol for controlling the device and getting RF power level readings (and the proper info to parse it).<p>Once I got the basic command set figured out I wrote up documentation and a Python library[1]. Without reverse engineering the device firmware or the original software it was basically blind guessing (and later automated guessing). Finding a new command and being able to put more and more of the puzzle pieces together to see the big picture is really fun :)<p>[1] <a href="http://infincia.github.io/pyairview/" rel="nofollow">http:&#x2F;&#x2F;infincia.github.io&#x2F;pyairview&#x2F;</a>
Dylan16807over 10 years ago
I&#x27;m baffled by the <i>intended</i> authentication path not using the entire 4 bytes of the CRC after bothering with such a big random number.
评论 #8971371 未加载
fredkellyover 10 years ago
This is awesome!<p>For what it&#x27;s worth, I spent a little time playing with their Fuel API when the first band was released: <a href="http://fredkelly.net/articles/2012/12/21/nike_fuel.html" rel="nofollow">http:&#x2F;&#x2F;fredkelly.net&#x2F;articles&#x2F;2012&#x2F;12&#x2F;21&#x2F;nike_fuel.html</a>
coding4allover 10 years ago
Thanks for writing this. I think I&#x27;ll try reversing Fitbit beyond Galileo. Also, for those who don&#x27;t know, Wireshark can sniff the Fitbit dongle using usbmon module incase you don&#x27;t have a BTLE enabled device. MITMProxy is also great for making dumps to be studied.
ta33over 10 years ago
on a related note, is the act of decompiling jars legal if the software was obtained legally, ie bought?
评论 #8969831 未加载
评论 #8970563 未加载
BorisMelnikover 10 years ago
Extremely impressive, have been watching this technology and have seen a number of folks attempt this.
rasz_plover 10 years ago
FF FF FF FF FF FF<p>maybe Nike hired Sony random number guy(return 4)?