I want to synchronize the last-read position on my Kindle with MoonReader on my Android phone. I haven't been able to find software/hacks for that, so I am looking into doing this myself. Step 1 is figuring out how the Kindle stores the format, step 2 is doing the same for MoonReader, and step 3 the actual syncing (I have a jailbroken Kindle PW2 with some custom scripts and binaries already running, so I am optimistic that I can set something up ala the Kindle writing MoonReader compatible files to Dropbox).
For step 1 I am looking into decoding the mbs files that are in the book.sdr folder(s) on my Kindle. I think I figured out enough to parse it in a quick&dirty way, but a full definition and an explanation of the values would be nicer. Does anybody know any details?
What I have so far:
I believe by trial&error I can match the "lpr" values to something, but if anybody has more information already, this would save me some time.
For step 1 I am looking into decoding the mbs files that are in the book.sdr folder(s) on my Kindle. I think I figured out enough to parse it in a quick&dirty way, but a full definition and an explanation of the values would be nicer. Does anybody know any details?
What I have so far:
- the mbs file is a key-value dictionary
- there seems to be some kind of type indicator (0..4?)
- keys are in ascii
- each key is prefaced with "fe 00 00" and one byte (or "fe 00" and two bytes in big endian?) with the length of the key
- the "lpr" key seems to store the read position, with the value some fixed numbers (type definitions?) and a string with colon-delimited values where the first two are always identical and quite large, and the third increases by one for every page-flip (but it doesn't match the page number the Kindle shows)
I believe by trial&error I can match the "lpr" values to something, but if anybody has more information already, this would save me some time.