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.
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}
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
Sample dump and parsed data are found in sample.log and sample.json.
More information can be found at: Reverse Engineering the BodyBugg