Yet another reverse engineering blog

Tuesday, March 10, 2009

Kindle 2 tidbits

I’ve been a bit busy recently and couldn’t follow my favorite ebook forum Mobileread.com as closely as I wanted. Also, it seems to have exploded with the release of Kindle 2. I don’t have the device myself and don’t plan to buy it, but I did notice a few things when skimming the forums.

1) Firmware updates
Apparently Amazon didn’t change the obfuscation for the firmware updates and an enterprising person patched my update maker for K2 to make an “update” which sets up a custom screensaver (apparently the K1 shortcut have been disabled).

2) USB network
Apparently K2 includes a USBnet module which can be enabled with a debug command. This allows, for example, to use a PC internet connection instead of Whispernet, or to connect to services running on the Kindle. Telnet is possible, but it needs to be installed on the device first.

3) Kindle for iPhone
Amazon released an iPhone application, and it is now possible use an iPhone or iPod touch instead of Kindle to buy and read ebooks from Amazon. Someone was quick to discover that a small change in kindlepid.py allows one to produce a PID for the iPhone and read library books (or remove DRM from purchased books) the same way as with Kindle. A few days later Amazon removed serial numbers from the “Manage my Kindle” page, probably to try closing this “hole”. It worked for about two hours.

P.S. I did find some time to work on my scripts.
1) Updated kindlepid.py and kindledfix.py to support iPhone serials and fix the metadata corruption problem. Download.
2) Made a combined Kindle firmware update tool. It can extract a firmware update or make a new one, for Kindle 1 or Kindle 2 (K2 untested). Download.

34 comments:

Francis Turner said...

FYI I'm mirroring your latest Kindlepid/fix zipfile at my blog - see http://www.di2.nu/200903/13a.htm

If you have a problem with this I will of course take it down.

Anonymous said...

Have you looked at reverse engineering Amazon's kindle magazine format? It'd be nice to use mobiperl + custom scripts to download, say, the economist and have it work as a normal kindle magazine - with the table of contents, preview next article, etc...

Sue said...
This comment has been removed by the author.
Anonymous said...

Have used kindlefix 6 mo books from library and it just quit working Wont open the books. Just my K or not?

Evangelical Chicken said...
This comment has been removed by the author.
Anonymous said...

Great scripts, worked like a charm.
Thx.

Anonymous said...

Thanks! Just got Kindle for iPhone, hate the interface, so I wanted to be able to read my books in another reader on my Touch. Your kindlepid worked perfectly so I can actually read the books I purchase! :D

Leonard Wesson said...

Igor,

I would like to discuss an upgrade opportunity. Could you please email me directly?

Best Regards,

Leonard

Anonymous said...

Igor, what hope is there to preserve books on other platforms? And what hope is there to keep Text To Speech functionality? Do you have a way to strip DRM on books I've purchased myself? I'm not interested in piracy, I know those sites on the web, this isn't about free. Its about keeping what I've personally paid for. What do you suggest? You can email me directly at trickstands AT aol DOT com.... thanks in advance. (or anyone else who knows the answer too...)

FreakyT said...

Is it possible to get Google Maps working on the Kindle 2?

Unknown said...

My kindle 2 is in a reboot loop. It is not visible from desktop. Power button reset can't help, so as Sh+Alt+R.
Do you, by chance, know how to restore factory defaults? Thanks in advance

Tom Semple said...

I'd like to point Kindle's browser at an .html file that I've copied to it over USB. But I don't know the full path to this area of the file system on Kindle, so I don't know what to type into the address bar (using 'file://..' syntax).
I have verified this works by typing the path of an html file that shows up in the 'complete file system listing' on this blog: file:///opt/amazon/ebook/prefs/NowNowTemplate.html; so I just need to know the path to the root of the folder containing 'documents' etc.

Anonymous said...

worthless blog. no responses from owner. outdated info. i quit reading it... whats the point of even having it if you won't answer or respond to questions.

Unknown said...

Igor,

I too live outside USA. By now I figure out you have found a way to modify CDMA settings in order to register the Kindle in your local carrier. If so, please post instructions on how to modify this settings and most important how to find the SPC code for programming. If you need some help or guinea pig email me.

thanks.

Altius Directory said...
This comment has been removed by a blog administrator.
Unknown said...

I successfully used the converter on a mobipocket book that I borrowed from the library. The other day a message popped up that the book was removed from my Kindle. This was about the same time I read about Amazon removing those illegally sold Orwell books from people's Kindles. I don't feel they should have removed my library book - it was borrowed legally.

Anonymous said...

Hi!
I am trying your trick for location in the browser alt-1
it responds not avail, not avail
Is there a fix for this?

Anonymous said...

Any suggestion for how to make a remote/pedal page-turner for the Kindle DX, for use with sheet music?

Chris Meadows said...

How do I use kindlepid.py to extract the ID from my iPod Touch UDID? I tried it, but when I tried extracting a book with the PID it gave me, it said "Error: no key found. maybe the PID is incorrect".

Karen said...

Igor,

You are the absolute bomb! Thank you so much for posting these scripts! Do you have a Paypal donate button somewhere? I'd like to show my appreciation :)

Anonymous said...

Hi
After some problems I got the script working (I can't do any programming..) but; the kindlepid.py won't accept the serial number for my K2 international (the number on the back)... do I do something wrong or should the script be modified for the K2i?
Thanks anyway for a great idea!

oldskoolboarder said...

Does anyone know if the most recent Kindle 2 f/w update has an effect on kindlefix.py?

Anonymous said...

Cesar - I'm running the latest firmware on a Kindle DX, and kindlefix.py works fine so long as it's been patched to contain the correct serial number prefixes. If you have a standard Kindle 2, then it should "just work."

Anonymous said...

Anonymous with K2 International - I posted a patch earlier today that adds support for the Kindle DX. The model you have probably starts with yet another prefix, so you just need to add another elif for your 4-character serial number prefix.

The patch for the DX is at http://pastebin.com/f6d3458ef, but the fix is pretty trivial. I'd like to update the patch to include your version, though. What's the prefix?

Anonymous said...

Any update on Kindle for PC? I finally tought I was able to buy books for my bebook but... No PID, so back to illegal downloading - Id much prefer to buy from Amazon if I could somehow get rid of the ridiculous DRM.

Anonymous said...

Any one has the patch for K2 International, the prefix for K2 International is B003.

Unknown said...

I cant get the fix to work getting a PID doesn't match error

Shawn said...

What serial number do you use for the iPhone? I tried entering the serial number of my iPhone, and got an "unrecognized serial number".

Unknown said...

Help Please? How can Transfer epub files to kindle :( İt is from adobe digital edition. And i couldnt.

Anonymous said...

it seems amazon has changed PID scheme - i am trying to decrypt a book recently downloaded from amazon my kindle page on july 3rd and it gives me error PID not found when using dedrm script... SAME book downloaded a week ago decrypts with no problems!... tested on 2 different titles - same issue! at appears amazon is up to something.. can anyone confirm?

Anonymous said...

Deinitely seems that they have change the scheme.

someguywhoknows said...

google for Apprentice Alf's Blog and there you'll find all updated tools ;)

Anonymous said...

sup igorsk? found some topaz c++ 4 u. http://pastebin.com/GvQMw18w

Marika said...

xd