+1  A: 

I'd start looking for hex-representation of known values. Does the device (as pictured) have a screen, or can you look in windows?

If you can, say, find a series of numbers in hex that you have found inside the Windows version, you might be able to figure out the 'record' format. Looking at it, it seems to contain some kind of header/version information, and a series of records with hex-encoded numeric values.

That should give you a good starting point.

Chaos
I can dig up some screenshots, good idea, thanks!
mwilliams
+2  A: 

What I would do next is try and find some numbers. There's a bunch of ways the numbers could be encoded:

  • Ints (1, 2, 4 bytes, various endianness)
  • Floating-point (of various sizes)
  • Fixed point or some other strange format

You have the advantage of knowing some numbers that are going to be in there, since you can see the data on the screen. So I'd look for those numbers in the file (in the various formats above). This should give you some data, at minimum.

Next, you mention timestamps. Timestamps are usually pretty easy, because they're invariably 32-bit unsigned ints, and you have a good ballpark range (time() +/- a few 100,000). So look for ints near there.

You can do all this by hand with a hex editor or write a little script. Once you start getting some data out, look for patterns. This should help a lot with finding more interesting fields. Good luck!

Jacob B
+1  A: 

I would just run a VM for the windows version and use ollydbg to reverse assemble it. That is your best bet instead of staring at a binary file and guessing which variables correlate with what offset.

Messing with your own insulin pump is probably not the smartest idea though. Assuming that the file manipulates the pump.

Unknown
The data file is off of my PDM and is for statistics use only. I will not be transferring the file back or interfering with the functionality with the PDM at all. As for a VM, yes, I could, however, I'm not going to purchase a Windows license for this.
mwilliams
A: 

Any progress on this? I'm a T1DM and MIT grad student interested in hacking the same problem. Let me know.

Nathaniel Miller
Nope, unfortunately not. Just a few strings when viewing with a hex editor or just a plain text editor. I also couldn't find many repeatable patterns. My best guess is because it's somewhat personal data, it's encrypted in one way or another so only their software can display it.
mwilliams