BodyBuggBypass
BodyBuggBypass copied to clipboard
A set of tools used for retrieving, parsing and clearing data from a BodyBugg.
Update
This project is dead, the method used to get access to the device has been fixed. I will leave this here simply for posterity.
Usage
Device Dump/Clear
Usage: java -jar bodybuggbypass.jar
The program writes all retrieved data to a file named: {timestamp of last data retrieval}.log
Once all data has been read, the device's memory is cleared and internal time as well as data retrieval times are set to the current date/time.
Dump Parser
Building the parser requires golang. Steps to build are as follows:
go get github.com/bemasher/errhandler
go build parser.go
Usage: parser [INFILE] [[OUTFILE]]
Parameters:
INFILEis required.OUTFILEis optional and defaults to "data.json"
The input file is parsed and written as a json encoding to OUTFILE. The basic structure of the file is a list of the following object:
Session {
Channel string
Epoch int64
Divisor uint32
Payload []arbitrary
}
Channelrepresents the channel name of the session.Epochis the unix timestamp of the time the first data point was recorded.Divisoris used for determining the time interval between records, 1 divisor = 1/32 sec.Payloadis a homogeneous list of any of the following types:uint16int64{Timestamp int64, I int, J int}
Caveats
To avoid the same fate as the FreeTheBugg project, I am not packaging any of the jars this program depends on which belong to BodyMedia. Instead you'll need to download and place them in the directory bodybuggbypass_lib which must be in the same directory as the executable jar bodybuggbypass.jar:
- armband-applets-1.11.0-SNAPSHOT.jar
- common-applets-1.11.0-SNAPSHOT.jar
- common-shared-1.11.0-SNAPSHOT.jar
This project was developed using version 1.10.0 of the jar's. I have not had time to add compatibility with version 1.11.0 and will not work. Links to version 1.10.0 no longer work.
Information
Sample dump and parsed data are found in sample.log and sample.json.