Thursday, December 17, 2009

Circumventing Kindle For PC DRM (updated)

Amazon actually put a bit effort behind the DRM obfuscation in their Kindle for PC application (K4PC). The Kindle proper and Kindle for iPhone/iPod app both use a single "device" encryption key for all DRMed content. K4PC uses the same encryption algorithms, but ups the ante with a per-book session key for the actual en/decryption. And they seem to have done a reasonable job on the obfuscation. Way to go Amazon! It's good enough that I got bored unwinding it all and just got lazy with the Windows debugging APIs instead.

So here you go: unswindle v7 (previous versions: v6 v5 v4 v3).

You'll also need a copy of darkreverser's mobidedrm (check the most recent comments for the newest links).

Put those kids together (in the same directory) and run unswindle.pyw. It launches KindleForPC.exe. Pick the book you want to decrypt. Close KindleForPC. Pick your output file. And enjoy the sweet taste of freedom.

Script name in honor of rms and The Right to Read. Don't use this to steal, or I'm taking my toys and going home.

Updates. It came to my attention that unswindle version 1 did not work if KindleForPC was installed as a non-administrator and did not work on versions of Windows other than XP. Version 2 should fix these issues. Version 3 fixes an intermittent path-getting issue. Version 4 fixes an exception related to opening thread handles, detect Topaz format books, and detects that you have the proper version of Kindle For PC installed. Version 5 works with the new (20091222) version of the K4PC executable. Version 6 cleanly handles already DRM-free files.

Update 2009-12-22. Amazon has demonstrated that they (unlike Adobe) take their DRM seriously: they've already pushed out a new version of K4PC which breaks this particular script. As you can clearly see via their SHA-1 hashes:
fd386003520f7af7a15d77fcc2b859dd53e44bc1 KindleForPC-installer-20091217.exe

13a816a3abf7a71e7b6a55228099b03b1dc3789b KindleForPC-installer-20091222.exe
The application doesn't seem to auto-update, so if you can find a copy of the original installer you should be fine. Otherwise you'll have to hang tight. Newest unswindle version detects if you have the wrong K4PC executable installed.

Update 2009-12-22 (2). The K4PC update may not actually have been targeted at unswindle, as Amazon seems to have done nothing in particular to make the basic approach more difficult. In any case, I've updated unswindle to handle the 20091222 version of the executable. We'll see if Amazon throws out another new build in short order, and I'll put some more elbow grease into figuring out the PID-generation algorithm.

425 comments:

  1. sorry .. didn't work for me .. when i run the python file i get nothing .. the app doesn't run .. and with LaBBa application in all the darkreverser's mobidedrm i get the same error:
    can't find key possible wrong PID..

    ReplyDelete
  2. Does not work...

    unswindle.pyw throws errors at line 629, 580, 468, 434, 514, 383.
    DebuggerError: could not read memory

    ReplyDelete
  3. I am using Windows 7 Ultimate. The script attempted to open K4PC but I got the same errors as the first version (line 629, debug error, etc). I opened K4PC first, then ran the script and got a Failed To Determine Book Path. An I doing something wrong.

    ReplyDelete
  4. Actually, here is the exact error. Thanks for your hard work.

    Traceback (most recent call last):
    File "C:\Python26\New folder\unswindle.pyw", line 752, in gui_main
    inpath, pid = unswindler.get_book()
    File "C:\Python26\New folder\unswindle.pyw", line 703, in get_book
    debugger.main_loop()
    File "C:\Python26\New folder\unswindle.pyw", line 562, in main_loop
    self._handle_bp(addr)
    File "C:\Python26\New folder\unswindle.pyw", line 493, in _handle_bp
    callback(self, context)
    File "C:\Python26\New folder\unswindle.pyw", line 627, in _get_book_path
    path = debugger.read_process_memory(addr, 4096)
    File "C:\Python26\New folder\unswindle.pyw", line 436, in read_process_memory
    raise DebuggerError("could not read memory @ 0x%08x" % (addr,))
    TypeError: %x format: a number is required, not c_void_p

    ReplyDelete
  5. Thanks for all your hard work on this. I just converted my recently purchased Amazon (Kindle for PC) book to a mobi file, then to a pdf using Calibre. Now I am free to enjoy my book the way I choose. I used unswindle.pyw ver 3, Python ver 2.6.4 and mobidedrm ver 0.07 on windows XP. Graham

    ReplyDelete
  6. failed to determine book path...any help

    ReplyDelete
  7. Thanks a million. Worked flawlessly. You are made of awesome.

    ReplyDelete
  8. I've been using Darkreverser's mobidedrm version 6 and it works great. I've got Python 2.6 up and running. I'd understand the difference between py and pyw. I've followed the instructions but I get a syntax error on line 1

    What am I missing!!

    ReplyDelete
  9. hey Cabbages,

    I'm interested in having an email chat with you. Is there somewhere I can reach you? Ping me at my gmail address (vaporbook) if you'd like to hear what I have to suggest.

    Best
    A

    ReplyDelete
  10. I tried it and get a message: Error: failed to determine book PID. Python 2.6.4, running as Administrator. I haven't been able to get pycrypto installed. Does this make a difference?

    ReplyDelete
  11. @Ed Bear; Looks like you've got a Topaz format book. I'll post a new v4 RC which detects this cleanly.

    ReplyDelete
  12. hi fantastic watching and reading this progress. Bought a kindle for PC book a week ago and was sorry to find i could not read it on my sony which is the only device i have. Your work sorted it a treat. Got so excited i went straight back to amazon and "bought" a bunch of free books. unfortunatly this time it gives the failed to determine book PID. I then tried to deDRM the first book with the same error which seemed strange. I then copied the mobydedrm and the unswindle.pyw to the directory where K4PC stored the books. your tools worked again. I then tried it with a second book and again got the error. Now again all books are giving this error. Look forward to you solving this issue.

    ReplyDelete
  13. Unswindle v4-rc3 seems to run perfectly, but mobidedrm(07) reports "cannot decrypt topaz format book." Suggestions? Thanks!

    ReplyDelete
  14. Topaz hasn't been conquered yet. Until it's figured out you have to use it on the Kindle products. He changed the script to let you know it's Topaz so you will know it can't be de-drm'ed.

    ReplyDelete
  15. Andrew, many of the free books on Amazon are actually DRM-free mobi, with the AZW extension. Try just renaming one of them to .mobi and if Calibre can read it, then you know if was DRM-free to start with.

    ReplyDelete
  16. i get failed to determine book path.

    reformated for unrelated reasons, run unswidle after proper setup same error "failed to determine book path". what does this error mean, is there something I can do to fix this

    ReplyDelete
  17. I am also recieving the "failed to determine book path" error. any help would be greatly appreciated

    ReplyDelete
  18. WOW!!!! Thank you so much for all of your hard work!!! Now when relatives give me Amazon gift certificates I can buy ebooks with them!

    ReplyDelete
  19. Hmmm.. I was able to "unlock" 2 of the free books from Amazon with this, then left the computer for a while. Tried to do some more books and also got the failed to determine book PID error?

    ReplyDelete
  20. I think I figured out what I was doing wrong. First - open a book with K4PC that has NOT been changed yet. Then use the script and follow the directions. Just did 6 or 7 books no problem :)

    ReplyDelete
  21. Thank you for coming back. I've been aching for someone to un-DRM Kindle4PC. A few of my textbooks for this semester and next are only available on Kindle and dead tree. I have an eink reader already so don't want to buy a kindle, but the $10 kindle book is so much better than a $30 paper book, not to mention it's reflowable and I can more easily make it fit my eslick's screen (unlike ADEPT protected PDF ebooks).

    Cheers! This makes my next semester a touch more affordable, and I can read on eink rather than my monitor!

    ReplyDelete
  22. This comment has been removed by a blog administrator.

    ReplyDelete
  23. @timmy; Insult Python all you like, but casual racism gets deleted.

    ReplyDelete
  24. Hi - I wrote for Computerworld and PC World and have a couple of questions for you. Can you get in touch with me? My e-mail is jeremy_kirk@idg.com. Thank you!

    Sincerely,
    Jeremy Kirk
    IDG News Service

    ReplyDelete
  25. Looks like you made news again.

    www.theregister.co.uk/2009/12/23/amazon_kindle_hacked/

    Stew

    ReplyDelete
  26. @stewball; HAHAHA, oh so funny. It looks like most of the news sites are giving credit for the hack and the unswindle tool to Labba. That article even follows a link in a Google Translated Hebrew forum here and assumes this blog is also in Hebrew. So so funny.

    If you look at this post by labba (bottom of the page, dated "12 20, 2009 12:52 am") he gives credit where due. Gotta love the mainstream media.

    ReplyDelete
  27. I read a few of the other articles. Each one seems to credit the hack differently. The funny thing is most of the articles are coming out of the UK, although a reference to a challenge made in a Isreali hack site was cited on one I read.

    ReplyDelete
  28. I'm a reporter for the Wall Street Journal. Could I ask you a few questions about this? You can reach me on geoffrey.fowler@wsj.com

    Thanks,
    Geoff

    ReplyDelete
  29. Hello, thanks for putting the Kindle script out there. I'm having the same issue that a couple of posters on Dec 17 experienced: when I double-click Unswindle.pyw, nothing happens; if I save the file as Unswindle.py, a console window flashes open, but then immediately closes. In either case, the script doesn't seem to execute. I've used both v6 and v3; running XP with Python 2.6.4. Can anyone suggest where I may be going wrong? Thanks!

    ReplyDelete
  30. @chris; Could you open a command line and manually run python on the script? (Something like c:\python26\pythonw.exe unswindle.pyw?) I'd like to know what output it produces.

    ReplyDelete
  31. @i♥cabbages: Would it be possible for the script, once it's finished the decryption and asks for a output file, to automatically bring the requester to the front? As it is, I have to minimize all open windows in order to see it. Just wondering...

    ReplyDelete
  32. @ Cabbage, I tried the command line that you suggested, but received the same results as earlier; the Command Window in the window header did briefly (briefly!) flash up Pythonw.exe Unswindle.pyw, but no further results.

    I changed the command line slightly to:

    C:\Python26>Python.exe Unswindle.pyw (or Unswindle.py)

    I received the following error message:

    File "Unswindle.pyw", line 26
    ' ""
    ^
    SyntaxError: EOL while scanning string literal

    This is the most response I've received when running the script; it just seems to collapse after I try to execute (I've checked the processes running on my system after trying to execute, to ensure that it wasn't running the background, and I don't see the script, or Python itself, running.) Consistently, using Pythonw gives no response that I can see.

    I did de-drm an ereader (pdb) format book, using the eReader2html.py script, to ensure that my Python installation was not corrupted/had issues, and the eReader2html.py ran without a problem and decrypted my book.

    I'm taking the Raw script, for v6, from the link at the top of the page, copy/pasting the entire script to Note Pad, saving the file as Unswindle.pyw, using UTF-8 encoding. I've checked that the file isn't getting a .txt tacked on the end, and when I do look at Unswindle.pyw in Windows Explorer, it's showing as a Python file (31KB).

    Any thoughts where I'm going wrong? Thanks for your help!

    ReplyDelete
  33. @Chris; It looks like you're just getting a corrupted script file. Instead of copy/pasting, either use the "download" link (right next to the "raw" button on the pastie.org page) or just use File->Save (or equivalent) when viewing the raw script in your browser.

    ReplyDelete
  34. You are my hero, not being in the US, the only way to get all Kindle titles is Kindle for PC. And then I can't read on my Kindle. Now I can buy all titles, and deDRM to put on my Kindle.

    ReplyDelete
  35. Oh, and FYI, I'm running Kindle for PC under Wine in Linux, and using Activestate python for windows installed under wine as well. Your scripts work just fine (wine python unswindle.pyw).

    So that's good news for me :)

    ReplyDelete
  36. @Dave; Wine is an intentionally supported platform -- the more recent unswindle versions even include a dynamic patch which allows the most recently-released build of Kindle for PC to run under Wine. But what's the benefit of ActivePython over the python.org Windows builds?

    ReplyDelete
  37. I'm not sure if there are any benefits, it's just the Windows build I'm familiar with (I use it at work).

    Thanks again.

    ReplyDelete
  38. @ Cabbage; Thank you! I wasn't able to download the script using Google Chrome (the browser gave me a translation error -- not certain why, since I don't think it was coded in Hebrew...) but IE pulled it down without a problem. Got it going, works without a flaw! Thanks!

    ReplyDelete
  39. Congrats on the result, but I'm a little confused. What is the relationship between your unswindle.pyw script and the mobiededrm.py script? It appears that both do the same thing: break the DRM on Amazon ebooks.

    Though the DMCA gestapo has hounded mobiededrm from the web, it seems that you're still free. ...wait, is that a knock on your door?

    ReplyDelete
  40. @steve poling; Darkreverser's mobidedrm does the hard work of actually decrypting a Mobipocket/Kindle book, but only once you have the necessary encryption key. Each book downloaded via the "Kindle for PC" application has a different key, unlike other "Kindle" devices which use the same key for all books. My tool automates extracting the encryption key for a particular book and running mobidedrm appropriately.

    Adobe used the DMCA to get my post providing a PDF decryption tool removed. We'll see if Amazon does something similar here. Tor keeps from being too worried about my actual door, though.

    ReplyDelete
  41. YOu are great. I also live outside US, I can an iPhone but kindle for iphone is not av in my locality. You app allows people like me to transfer my titles from Kindle for PC to my iPhone without pain. It works like a charm.

    ReplyDelete
  42. Needs to be run from the commandline it seems. Am running it with a Kindle binary downloaded today. Sadly I get an error that I'll paste below but it does seem to try and work. There are multiple versions of the mobidedrm file out there if you hunt around so I am hoping this isn't the issue with my attempt! I have many many Kindle books and am SO paranoid about Amazon doing something to leave me stuck. Being able to strip them and store would be a huge relief!

    Argh, cannot paste the error(s)! Errors were in line 845, 798, 811, 614, 722, 761, with final being a WindowsError Error#6 handle invalid. Will play more but in any case thank you!

    ReplyDelete
  43. @John; You do not need to run from the command-line. In fact, for Windowsy reasons I haven't bothered to figure out, launching mobidedrm fails if you run unswindle from a command-line session. You should be able to run unswindle by double-clicking on the file in Explorer, and if there are any errors (other than a corrupted script file) it should display them to you in a nice GUI-wise fashion.

    ReplyDelete
  44. I'm really waiting for the Topaz decryption as it seems Amazon knows that this is safe territory now. Unfortunately, the last few books I've purchased have been that format.

    ReplyDelete
  45. Me too, Mike. At this point, if I had the money, I'd pay someone to tackle Topaz.

    ReplyDelete
  46. This comment has been removed by the author.

    ReplyDelete
  47. wow .. wish it worked... I get "error: cannot decrypt topaz format book" :(

    ReplyDelete
  48. This particular script isn't meant to decrypt Topaz books, Kaavar. I'm just wishing for one that *is*.

    ReplyDelete
  49. It's a pity. There are a number of ebooks locked solely to the *&$#@*&% Kindle that I'd love to buy for my collection so I can lose the dead-tree copies.

    ReplyDelete
  50. yea, I do wish for a topaz book one as well.. I have a nook and would love to be able to just buy any ebook and read it on *my* device of choice.

    ReplyDelete
  51. Latest build has expired. Can someone repost it?

    ReplyDelete
  52. hi thanks for the tool, but unfortunately - being completely lay - i have no idea where to start. i see the script, but what is next?
    is it possible that someone who has succeeded puts down step by step how to remove this drm? thanks a lot again.

    ReplyDelete
  53. I run the script and get to an error that basically says that no PID was found. It opens kindle for PC, it runs everything smoothly to that point.

    ReplyDelete
  54. 1. Have K4PC installed.
    2. Run script and it will open K4PC.
    3. Open the book you want to liberate.
    4. Close K4PC, and a box will appear allowing you to save a copy on your computer.
    5. If it's TPZ/AZW1 the script will tell you and it will not be possible.

    I hope this helps. Be sure to have version 6.

    ReplyDelete
  55. Oh yeah, be sure to have mobidedrm version 6 or 7 in the same directory with unswindle.

    ReplyDelete
  56. hello i get an error from unswindle
    Error: Failed to determine book path

    ReplyDelete
  57. Unswindle 6 rc1 fails with:

    Traceback (most recent call last):
    File "C:\download\unswindle6rc1.pyw", line 846, in gui_main
    unswindler.decrypt_book(inpath, outpath, pid)
    File "C:\download\unswindle6rc1.pyw", line 799, in decrypt_book
    self._mobidedrm(inpath, outpath, pid)
    File "C:\download\unswindle6rc1.pyw", line 812, in _mobidedrm
    universal_newlines=True)
    File "C:\Python26\lib\subprocess.py", line 614, in __init__
    errread, errwrite) = self._get_handles(stdin, stdout, stderr)
    File "C:\Python26\lib\subprocess.py", line 722, in _get_handles
    p2cread = self._make_inheritable(p2cread)
    File "C:\Python26\lib\subprocess.py", line 761, in _make_inheritable
    DUPLICATE_SAME_ACCESS)
    WindowsError: [Error 6] The handle is invalid

    ReplyDelete
  58. My bad. Had to rebuild the system, since I had no clue what I did wrong, but it fixed the problem.

    ReplyDelete
  59. When I run the unswindle script, it launches K4PC fine, I can then select the book I want. THis takes me to the save screen, however I get the following error message

    Error problems running MobieDRM
    file C:\documents and settings\user\desktop\aaaakindledecrypt\mpbiedrm.py", line 1
    1.
    indentationerror:unexpected indent.

    Not sure what I am doing wrong here.

    ReplyDelete
  60. you have to download it not copy and paste

    ReplyDelete
  61. MM I did download, but not working.

    ReplyDelete
  62. Fantastic. Another ebook alternative has opened for me and my PRS-505. First run = no response, then I upgraded from Python 2.5 to 2.6. Now it works like a dream. (OS= XP sp3) Thanks.

    ReplyDelete
  63. I'm about to buy a sony ereader and I was worried about stuff not working. I have purchased some kindle books on my computer and was afraid I wouldn't be able to read them on my ereader. Thanks

    ReplyDelete
  64. I too have PID error, but nothing on topaz book, any clues at this moment!

    ReplyDelete
  65. Thanks!!! Have just succesfully used latest version with mobidedrm 0.05 to decrypt my first ever Kindle for PC download.

    Now I can read Kindle downloaded books on my PDA - you are doing Amazon a great service!

    (I simply wouldn't download books from Kindle if they were locked to my PC / Laptop, but as Unswindle exists I thought I'd buy a book and give it a try.)

    I hope Amazon aren't foolish enough to try to beat this hack as they'll lose my custom if they do!

    ReplyDelete
  66. I just loaded it and it works great (except, of course, for the aforementioned Topaz format). Thanks for the hard work!

    ReplyDelete
  67. hi i have a sony ereader and have had the pleasure of using the unswindled, Python and calibre apps to get my kindle for PC book onto my sony. i have however discovered that all is not as it seems. The book is "the girl who kicked a Hornets nest. I am about halfway through the book and got suspicious that i was missing something. I went to the same pages in the Kindle for PC app and found that any sentence written with < and > does not appear on my Sony. In the book any skype type chat is written in this way.

    ReplyDelete
  68. In fact I have found that large porton of a chapter is missing. I would appear as if the removal of DRM did not affect the book but that the import into the sony results in missing text.

    ReplyDelete
  69. Will this let you read Amazon ebooks on non-amazon readers such as nooks? Has anyone had any experience for good or bad with the approach?

    ReplyDelete
  70. @Kevin Wang,

    The one here is very easy, and free. Don't post your spam here.


    Stew

    ReplyDelete
  71. Just tried this, and was SO excited to try! I got everything downloaded, and attempted to do it, but found out the ONE book I own is a TOPAZ one. Any future plans for this?

    Thanks

    ReplyDelete
  72. there is some work already done with the topaz format, with successful conversion (with some minor errors that may be correct with some proofreading) to html - I've just used it on one of mine :)

    you should go read the comments on the darkreverser weblog - you will find a link on the post made by i♥cabbages

    ReplyDelete
  73. Mclabb,

    Thanks for the insight, I'll have to check it out, even though I'm new to this whole Python/Script game.

    I'm confused on these formats. I was under then understanding that:
    .TPZ = TOPAZ
    .AZW1 = TOPAZ
    .AZW = Normal.

    I now have two Kindle books, one being .AZW1 and the other being .AZW. Using this script on both yields a "Unable to work TOPAZ formats". I downloaded my purchases to the Kindle for PC and ran as described above. I run Vista 64.

    Thanks

    ReplyDelete
  74. Hey there! Firstly, thanks for your awesome work on this stuff. I'm an avid e-book reader and I'm getting pretty frustrated with how difficult it is to convert Kindle files, specifically the Topaz format. Is there any updated info on cracking/converting .tpz files? I saw the postings on dark's site but I know next to nothing about Python, so an easier method would be wonderful. Thanks much for any help. :)

    ReplyDelete
  75. P.S. Sorry, my email is madnessism at gmail dot com.

    ReplyDelete
  76. If you look on dark's site, there are exe files that will do the conversion on a windows computer without having to have python. Very easy.

    ReplyDelete
  77. I was hoping it would be easy. All that happens is it pops up a command prompt, then it swiftly disappears, and then nothing?

    ReplyDelete
  78. I have not use the exe files, but I think you must open up a command prompt to run the exe file. It is not a windows graphics file.

    ReplyDelete
  79. Hello, thanks for putting the Kindle script out there. I being able to convert some of the books with your scrip but others I get a message: Error:cannot decrypt Topaz format book. I have Python 2.6.4 and pycrypto-2.0.1.win32-py2.6 installed. Can you tell me why I can decript some books and not others.
    Thanks one more time for all the work you have put in it!

    ReplyDelete
  80. The Topaz scripts are in the darkreverser blog that has been mentioned several times above. It is not incorporated into the scripts available here.

    ReplyDelete
  81. I am running V6 with Vista and it starts Kindle4PC but that's it, nothing else says to select a book or anything, even if I exit Kindle4PC, any ideas?

    ReplyDelete
  82. vdospec, It was confusing for me at first because of its simplicity. Once Kindle4PC opens, it should list the books that you can choose. Click on the one you want to remove DRM from and then quit the application.

    I went to Dark's blog and couldn't find any Topaz scripts. Can someone give me the name of the script I need to be looking for?

    ReplyDelete
  83. @Alicia
    Look toward the bottom of the New Blog comments. There are over 800. Go to the bottom and grab script package 1.7. It has a read me in it to instruct you on running the Python scripts. You need to know how to run Python through command line to make them work.

    ReplyDelete
  84. "@Alicia
    Look toward the bottom of the New Blog comments. There are over 800. Go to the bottom and grab script package 1.7. It has a read me in it to instruct you on running the Python scripts. You need to know how to run Python through command line to make them work."

    Or you can wait another week or so, and they should have the completely Windows program completed so no Python installation or command line skills will be necessary.

    ReplyDelete
  85. I'm having problems with unskindle. It worked when I first used it but today when I open it, I get a quick look of something but it doesn't stay open long enough to do anything with. What can I do? Is there a binaries version?

    ReplyDelete
  86. When you run unswindle, does it open Kindle For PC? Make sure you have a good copy of mobidedrm (names just like that) with the unswindle file. I noticed you called it unskindle. You aren't trying to use Skindle are you?

    ReplyDelete
  87. Nope, I meant unswindle. The unswindle I'm trying to use, I d/l Dec 18th, along with the mobidedrm. I also have brutsbum's (sp?) file of scripts (1.7) in a different location. The unswindle from there does nothing, not even a pop up.

    ReplyDelete
  88. Grab Unswindle v6 from here, make sure the mobidedrm file is with it. Then double click unswindle. It should open Kindle For PC, not a command window (which is what sounds like has been happening. Unswindle has a pyw extension and should open K4PC and nothing else.

    ReplyDelete
  89. I got unswindle v6 and mobidedrm 0.10 The file type for unswindle is python file, not pyw. Is this what is going wrong?

    ReplyDelete
  90. I decided to re-download python 2.6. Tried unswindle again, told me could find mobidedrm. I had version .10 there but I deleted it and used the one from brutusbum's collection of scripts (1.7) and it worked. Unsure exactly what was wrong but thank you for help, stew.

    ReplyDelete
  91. Windows 7 32-bit; Python 2.6.4; Latest Unswindle & Mobidedrm. Two files in same directory. Kindle for PC installed.

    When I double-click Unswindle, nothing happens. No prompt, nothing. Any thoughts?

    ReplyDelete
  92. On the Mobidedrm script v10, just remove the version number. Unswindle looks for a file with the exact name of mobidedrm.py. I'm glad you got it working.

    Nich1701, I think you also have to have Pycrypto installed. I am using Python 2.6.1 and Pycrypto 2.0.1. I am not sure if the version of Pycrypto is necessary for 2.6.4.

    Here is a link for my copy of Pycrypto.
    http://drop.io/jdmlq5u

    When you double click unswindle, Kindle For PC should open.

    I hope this helps.

    ReplyDelete
  93. @mygamebest,

    You are a sh!thead. Stop spamming up the blog.

    ReplyDelete
  94. Hi - I am trying to run the python code, but embarassingly cannot find the location of the Topaz book. I have tried windows searching for azw, azw1, prc, to no avail, but I'm sure there's 1 topaz book on my PC via kindle4pc.

    Can anyone point out the location of the files (Windows Vista)?

    ReplyDelete
  95. This script, Unswindle doesn't remove DRM from topaz ebooks. Go to DarkReverser and look at the end of the 1000 post, and get the latest pack of scripts. There is a txt file in that pack that explains what to do for Topaz. If it is a K4PC topaz, use the normal script. If it is a Kindle topaz, use the non-K4PC script.

    ReplyDelete
  96. Hi @cabbge.
    Thank you very much for your program.
    I tried unswindle.pyw several times.
    Each time, I could get a new file without any comment during the process.
    But when I open the file with ebookReader,
    it says "the file is broken."
    Could you tell me how I can get a unbroken file?

    ReplyDelete
  97. not working in Windows 7 Ultimate as well as Windows XP Mode.

    The unswindle v6-rc1 is downloaded as pastie-761825.py. Should I rename it to unswindle.pyw?

    Anyway, if darkreverser's mobidedrm is published as v1.3, v1.4, do we still need to use unswindle.pyw?

    ReplyDelete
  98. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community today, you will have fewer ads, access to post topics, communicate privately with other members, respond to polls, upload content and access many other special features.
    greetings
    buy cialis

    ReplyDelete
  99. Hello:

    I bougth a Kindle Dx last year, but as I´m not living in US I dont have wireless access. ¿is there solution for free use of wireless? Amazon just suggest to get rid of the devicee and buy a new one. Je Je...

    Thank you anyway

    ReplyDelete
  100. Hello:

    I have a Sony 600 Reader and wished access to Kindle's store library as well as Sony's so your script is perfect. However I am having difficulty using it.

    I am running Windows 7 Ultimate 64 bit on an early dual core AMD chip with an NVidia AMD 590-SLI chipset. Perhaps the difficulty lies with that.

    Python 2.6 32 bit is installed.

    When I double click unswindle.pyw Kindle PC opens up and I select my book without difficulty.

    Then I close Kindle PC and a window opens titled
    "Select unencrypted Mobipocket file to produce"

    This window opens in the directory which contains unswindle.pyw in my case:

    C:\My Downloads\ebook\tools\Kindle_Mobi_Tools

    File name field is empty
    Save as type is set to All files *.*

    I can enter any text I wish, for example
    test.mobi

    Once I select the save button the following occurs:

    MobiDeDRM.pyw begins executing but apparently without any data passed to it.

    Here are the field states at that time:

    Mobi eBook input file: C:\My Downloads\ebook\tools\Kindle_Mobi_Tools

    Name for Unencrypted Output File: BLANK

    10 Character PID: BLANK

    I can convert books now after an hour of reading various blogs but it is cumbersome.

    I renamed the scripts to have .py instead of .pyw extensions so that I could see the python output window.

    Now when I run unswindle.py I see its print outputs which give me the PID.

    Then I run a version of MobiDeDRM.py which is compatible as a Calibre plugin after manually configuring it with the PID unswindle found.

    Do you have any idea how I can fix this so that unswindle.py will properly pass data to MobiDeDRM.py?

    Any thoughts and help is appreciated.

    ReplyDelete
  101. Appreciate all the work. Finally got the script (v6) to run as a pastie. Windows XP doesn't seem to start the 'cut and paste' version via notepad. All went well until the output. Unswindle asks where to save the unencrypted file as a .mobi, but then the file isn't there.
    Also, is the output string remaining at the end of the script the device PID? I could use it directly with MobiDeDRM.

    ReplyDelete
  102. Hello friend amazing and very interesting post about Circumventing Kindle For PC DRM (updated) thanks I would like to know if you have any post about colon cancer

    ReplyDelete
  103. @KnytKnyt you have to give it a name for the file.mobi and a location to write the file to.

    ReplyDelete
  104. I tried to use this but got the same stuff as @stewball above:

    Traceback (most recent call last):
    File "unswindle-v6.py", line 839, in gui_main
    inpath, pid = unswindler.get_book()
    File "unswindle-v6.py", line 780, in get_book
    grabber = PC1KeyGrabber(debugger, self._hexdigest)
    File "unswindle-v6.py", line 640, in __init__
    debugger.set_bp(self._taddr(addr), getattr(self, mname))
    File "unswindle-v6.py", line 458, in set_bp
    byte = self.read_process_memory(addr, type=ctypes.c_byte)
    File "unswindle-v6.py", line 448, in read_process_memory
    raise DebuggerError("could not read memory @ 0x%08x" % (addr,))
    DebuggerError: could not read memory @ 0x1000000000014c9df

    Didn't see a solution for him but from follow on comments it appears he his working OK. What was the solution?

    ReplyDelete
  105. I should add, I am running Windows 7 Ultimate in a VMWare virtual machine. Python gives this info on startup:
    Python 2.6.4 (r264:75708, Oct 26 2009, 07:36:50) [MSC v.1500 64 bit (AMD64)] on win32

    ReplyDelete
  106. Make sure you have the 32-bit python in control of your python scripts. Running the x64 version will cause this error.

    ReplyDelete
  107. I recieved the error: failed to determine book PID. Not sure what to do next. Thanks for the help.
    lar

    ReplyDelete
  108. Yeah, recieved the same error, any ideas?

    ReplyDelete
  109. Me too. And as far as I can tell, it's not a topaz book. In fact, I've had books which I can unencrypt on some occaisions but not others. It usually works the first time but then not a second time. Re-downloading can help but not always.

    ReplyDelete
  110. Mathew, if your sure it's not a topaz book then just keep fiddling and it will de-crypt eventually. I just kept trying multiple times until it worked. I also tried re-downloading. Opening then closing the book, etc. Not sure if these helped but it eventually worked.

    ReplyDelete
  111. Hi,
    I really liked your review. Nice information! Your content unique and meaningful about it. You doing very well job!.
    Tools,Automotive
    Regards.

    ReplyDelete
  112. what I can say about this blog
    this is really awesome
    any one like Doc Martens Boots

    ReplyDelete
  113. I wonder if the resulting MOBI has any personal information left in it (such as who purchased the book in the first place)? Does anyone know?

    ReplyDelete
  114. Hi, I'm totally blind, and kindle books are inaccessible to me, so if I could get this to work, it would b amazing. i read the instructions, and the problem
    is that the kindle for pc app is inaccessible as well, meaning that I can't use my screenreader to open kindle for pc to select the book. Is there any
    way around this? Thanks!

    ReplyDelete
  115. Hi Tasha18...

    You don't need to open KINDLE FOR PC in order for Unswindle to do its work.

    You simply have to run Unswindle.

    That makes KINDLE open automatically.

    At the point, you need to open the book you are interested in stripping the DRM from.

    Once the book is open, simply close KINDLE.

    When Kindle is closed, it will take several seconds before a new dialog box opens up. But this dialog box only opens on a clean desktop. In other words, you need to minimise ALL applications, so that your desktop is visible. (I know it's not visible to you, but heck... best metaphor available to me.)

    When the UNSWINDLE dialog opens, it's asking you for a name and location for the stripped file.

    By default, the file will be saved in the MY KINDLE directory. And it will automatically have a .MOBI extension.

    I hope this helps.

    ReplyDelete
  116. Cabbages...

    Dude.... there are some scumsucking spam bastards posting comments with product links. Blah!!! Spit spit spit!

    Just thought you might wanna know.

    Blue skies
    Roy

    ReplyDelete
  117. Was having an issue until I switched from Python 3.1 to 2.6. Very cool! Thanks.

    ReplyDelete
  118. I am shoes crazy and I love shoes
    my favorite brand is
    skechers uk thanks for sharing this blog

    ReplyDelete
  119. Any help for us who purchased a Barnes & Noble book to use on their desktop reader? I just got a kindle & would love to transfer the book I purchased to it.

    ReplyDelete
  120. I think I have followed all instructions, but I get the error 'Unsupported version of Kindle for PC' when I run unswindle. My Kindle for PC-version is 1.1.0 ...

    ReplyDelete
  121. Yeah, new version just came out today. Cabbages will probably need a day or three to figure out what's changed...

    ReplyDelete
  122. I redownloaded the Beta version of Kindle for PC, but when I try to convert a book, it gives me the error:

    Error: problem running MobiDeDRM:
    MobiDeDrm v0.01. Copyright (c) 2008 The Dark Reverser
    Error: no key found. maybe the PID is incorrect

    Was wondering if this is because I'm not using the updated version of Kindle for PC. Please help. I am getting angry with Amazon and their rights restrictions with the publishers of the authors I read.

    ReplyDelete
  123. Anybody have a link to the old Kindle for PC that works with this or should I wait for an update for from cabbages?

    ReplyDelete
  124. also getting the "Failed To Determine Book Path" error...any help?

    ReplyDelete
  125. Hello friend amazing and very interesting blog I really enjoyed reading and I would like to have any update about it and i want to know if you have any blog about health wellness center

    ReplyDelete
  126. anyone have any luck getting unswindle to work on an installation of Kindle4PC running on Ubuntu using WINE?

    ReplyDelete
  127. Definitely Unswindle stopped working when the new version of Kindle for PC automatically updated itself at the end of April. Disappointing so far. It had worked fine before.

    ReplyDelete
  128. nyquil.org has put up a link to the old K4PC installer. Unswindle still works as long as you don't update the k4pc to the newest incarnation. Just turn of auto-updates.

    ReplyDelete
  129. I am having exact same issue as Stephanie above. I uninstalled the updated K4PC, reinstalled beta K4PC, but unswindle still not working.

    ReplyDelete
  130. Have beta K4PC and unswindle does not work
    error:failed to determine book path

    ReplyDelete
  131. unswindle is causing K4PC to update. The new version of K4PC doesn't work with unswindle. I opened K4Pc normally, and it didn't update. I opened it with Unswindle and it caused it to update. Amazon is tricky.

    ReplyDelete
  132. I have also received the "failed to determine book path" error, after falling back to the old version of K4PC, and verifying newest versions of unswindle and mobidedrm.py.

    Have we a fix?

    ReplyDelete
  133. Just an update to my previous post: I read through the Darkreverser's blog (what a treasure trove of info!) and came across another user with the K4PC/unswindle issue. His solution was to completely uninstall K4PC, delete the "My Kindle Content" folder and the Amazon folder in the Local Apps directory; then he reinstalled K4PC (beta version), and ran unswindle, which seemed to solve his problem.

    Figuring that this would be the "path to least resistance", I decided to give it a try; lo & behold, it worked - flawlessly!! I can now un-DRM my Kindle content using unswindle with K4PC (beta)!

    Hope this helps those of you with the same issue! FWIW, I'm running Win7 Home Edition with the 32-bit Python 2.6.4.

    ReplyDelete
  134. Be sure to go into settings in v1.0 Beta of K4PC and turn off the auto-update. Then when you run unswindle, K4PC will ask if you want to update, or skip this update. Of course choose skip the update. Then you are good to go.

    ReplyDelete
  135. Thank you Lisa! I couldn't get it to work either, and with the information you found and posted it worked perfectly!

    Thank you cabbage for your hard work on this, you've made my month!

    ReplyDelete
  136. Beautiful piece..I also love white interiors!…projects cleanliness and a fresh feeling.
    Covering your old (or new!) lamp shade with fabric can be a quick and easy solution to bring more color and texture to your room.
    You can add a beautiful, creative custom touch to a lamp shade with fabric that coordinates with your room's decor.

    Cheap Lamp Sellers

    ReplyDelete
  137. Where can I find the K4PC beta version?

    ReplyDelete
  138. Tabby,


    Here you go.
    http://ifile.it/tq05bk4


    design4home, quit spamming you jack@ss

    ReplyDelete
  139. @Lisa said...
    Just an update to my previous post: I read through the Darkreverser's blog (what a treasure trove of info!) and came across another user with the K4PC/unswindle issue. His solution was to completely uninstall K4PC, delete the "My Kindle Content" folder and the Amazon folder in the Local Apps directory; then he reinstalled K4PC (beta version), and ran unswindle, which seemed to solve his problem.

    Figuring that this would be the "path to least resistance", I decided to give it a try; lo & behold, it worked - flawlessly!! I can now un-DRM my Kindle content using unswindle with K4PC (beta)!

    ****

    So, where can i download the K4PC beta in order to alleviate my problem?

    I also checked out darkreverser's blog and he recommends skindle instead because of this problem, only i don't know how to get skindle either.

    Thanks for helping a tech-unsavvy person like moi. ;)

    ReplyDelete
  140. Thank you so much Lisa!!

    As an aside, there are links to the old Kindle at http://nyquil.org/archives/1235-Converting-Amazon-Kindle-For-PC-Books-Now-Possible.html

    ReplyDelete
  141. It worked flawlessly for 3 months, but with the new app version it stopped.

    I tried the Beta version of kindle4pc but Im getting a topaz error. But when I download the books with the current version I get a .azw file.
    So I tried to download with the current version and downgrade the kindle4pc to the beta version. I got the wrong path error.

    I dont know where to go as I have the right file but downloaded with the wrong app version.

    Any thoughts?

    Thanks

    ReplyDelete
  142. When I purchase a book, program, CD, DVD, or an iPhone, etc. they become my personal property. I can do whatever I please with my personal property. I can copy it or give it away if I so chose. If someone comes along and tells me that I can not do this or that, they are in fact making a a claim on my personal property. The only way they can make any claim, is to have a vested interest in it. That is the only way they have a right to make that claim. Since they are making a claim of having a vested interest in my personal property, I want to be paid for maintaining and securing their vested interested in my personal property, because involuntary servitude is unconstitutional. What do you think would happen if we all started to send them notice that we intend to start billing then for maintaining and securing their vested interested? Do you think they might stop this c__p?

    ReplyDelete
  143. Ok....I'm trying to crack .tpz files for my Kindle4PC. I visited Darkreverser's blog for info on how to do this and got lost amoung the piles of comments. Can someone point me in the right direction?

    ReplyDelete
  144. Any status on being able to "free" books from the bonds of their Amazon masters for users with the with the updated version of PC-Kindle?

    ReplyDelete
  145. Extreme awesomeness, thanks so much. You are beautiful! Running the kindle for pc beta on ubuntu linux under wine, and using the windows python package from python.org. Worked a treat.

    wine python unswindle.pyw

    Cheers!

    ReplyDelete
  146. HI Circumventing Kindle this is new to me but let me tell you Buy viagra is so good ,

    ReplyDelete
  147. Thank you for working on this. I always pay for content but it's frustrating being chained to hardware.

    I'm having problems getting the files to work as instructed above. For example, when going to the Darkreverser, the files seem to have been removed. Are there updated instructions?

    Thanks so much.

    ReplyDelete
  148. To Dena and others who struggle with TOPAZ.

    0) Install "Kindle For PC", go to "Archived Items" and download ("Add to home") the book you want to get.
    It will be better(for complete beginners) if you download ONLY the book you want to get, because it will be easier to locate this book later.
    So you should better have this one book in the "Home" tab in "Kindle For PC".

    1) Download this:
    http://www.mediafire.com/?mn3vmttbwrt

    2) Unzip this file to your C hard drive (after this step you will have "C:\tools" folder)

    3) Download and install this:
    http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi

    4) Open "My Computer" and go to C:\tools\Topaz_Tools

    5) Run TopazExtract_Kindle4PC.pyw (just double click on this file)

    You will see a window with 2 input fields:
    "Topaz ebook input file" and "Output directory".

    What to do with "Topaz ebook input file" field:
    Click the button to the right of this field and navigate to "My Kindle Content" folder.

    For example on Windows 7 this folder is located here:
    C:\Users\YOUR_USER_NAME\Documents\My Kindle Content

    On Windows XP here:
    C:\Documents and Settings\YOUR_USER_NAME\My Documents\My Kindle Content

    Replace "YOUR_USER_NAME" with your user name. :-)

    This folder is also easy to find on Vista(I don't have access to Vista to say exactly where this folder is).

    In "My Kindle Content" folder you will have to select the book you want to get (it should be the only book, as you remember from step zero).
    If you see no files, then you should select "All files" in the lower-right corner of the "TopazExtract_Kindle4PC.pyw" window.
    Then select(double click) the book.

    Intermediate step:
    Open "My computer" and go to C:\tools\Topaz_Tools\lib
    Create a folder named "Book" there, so you will have C:\tools\Topaz_Tools\lib\Book

    Let's get back to our "TopazExtract_Kindle4PC.pyw" window.
    What to do with "Output directory" field:

    Click the button to the right of this field and navigate to C:\tools\Topaz_Tools\lib\Book
    This folder you have to choose as "Output directory".

    Click "Start". A few seconds later you will see "Files successfully extracted". Click "Quit".

    6) Run(double click) this file:
    C:\tools\Topaz_Tools\TopazFiles2SVG.pyw

    You will see a window with this input field "Directory you Extacted Topaz files into"
    Click the button to the right of this field and navigate to C:\tools\Topaz_Tools\lib\Book
    This folder you have to choose as "Directory you Extacted Topaz files into".

    Now we are back to our "TopazFiles2SVG.pyw" window.
    Click "Start". Wait. After you see "Processing Complete", click "Quit".

    7) Run(double click) this file:
    C:\tools\Topaz_Tools\TopazFiles2HTML.pyw

    You will see a window with this input field "Directory you Extacted Topaz files into"
    Click the button to the right of this field and navigate to C:\tools\Topaz_Tools\lib\Book
    This folder you have to choose as "Directory you Extacted Topaz files into".

    Now we are back to our "TopazFiles2HTML.pyw" window.
    Click "Start". Wait. After you see "Processing Complete", click "Quit".

    9) Mission accomplished.
    Open "My computer" and go to C:\tools\Topaz_Tools\lib\Book

    To see your book in html, open the file "book.html"

    To see your book in original version go to:
    C:\tools\Topaz_Tools\lib\Book\svg

    Then open this file "page0000.xhtml" (page navigation also works).

    P.S. Also if you want to see more detailed information about conversion options read this:
    C:\tools\Topaz_Tools\lib\topaz-readme.txt

    ReplyDelete
  149. Bradley,

    First of all, you should NOT install the latest version of "Kindle For PC", because our files won't work with this version.
    For exapmle I have "Kindle For PC 1.0.1 Beta 1" and everything works, so you should find this version somewhere:
    http://www.google.com/search?q=Kindle+For+PC+1.0.1+Beta+1

    After you install this version, download this file:
    http://www.mediafire.com/?zmgwbcmmjxn

    Unzip it to Desktop.
    Open "Kindle For PC", navigate to "Home" to see all your books, then close "Kindle For PC".

    Download and install this(it is needed to run the files you unzipped):
    http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi

    Go to Desktop and run(double click) unswindle.py
    "Kindle For PC" will be opened automatically.
    Double click the book you want to get and after the book is opened, wait for a couple of seconds.
    Navigate back to "Home"(to see all books) and close "Kindle For PC".
    File dialog will be opened.
    Enter the file name for your book and choose where you want to save it.
    A couple of seconds later you will have a mobi file with your book.

    Download and install any of these programs to view your file:

    Mobireader
    http://www.mobipocket.com/en/DownloadSoft/ProductDetailsReader.asp

    FBReader
    http://www.fbreader.org/win32/

    ReplyDelete
  150. In my previous post I described a way to decrypt mobi book in the old version of KindleForPC using unswindle.py and MobiDeDrm.py.
    For those of you, who installed the latest version of "Kindle For PC" and can't use unswindle.py and MobiDeDrm.py, there is a way to get your mobi book without using unswindle.py and MobiDeDrm.py.

    To do this you will have to use skindle.

    Download this file:
    http://www.mediafire.com/?mn3vmttbwrt

    Unzip this file to your C hard drive (after this step you will have "C:\tools" folder)

    Open "My computer" and go to C:\tools\Kindle_Mobi_Tools\skindle-06
    Leave this window opened and don't do anything with it yet.

    Now you will have to locate your "My Kindle Content" folder.

    For example on Windows 7 this folder is located here:
    C:\Users\YOUR_USER_NAME\Documents\My Kindle Content

    On Windows XP here:
    C:\Documents and Settings\YOUR_USER_NAME\My Documents\My Kindle Content

    Replace "YOUR_USER_NAME" with your user name.
    This folder is also easy to find on Vista(I don't have access to Vista to say exactly where this folder is).

    Find this folder and open it.
    Now you should have 2 windows opened:
    "My Kindle Content" folder and "C:\tools\Kindle_Mobi_Tools\skindle-06" folder.

    Now copy all the contents of the skindle-06 folder(20 files) into your "My Kindle Content" folder.

    Go to "Start Menu", find Command Prompt and launch it.
    Command Prompt looks like this:
    http://ashwinkunkolienkar.files.wordpress.com/2008/05/dos-command-prompt1.gif

    Now in "My Kindle Content" folder you have to choose the book you want to get.
    It will have a name similar to this one: "B0RP2EET2_EBOK.prc"

    The easiest way to locate the book you need is this:
    Open "Kindle For PC", remove all books from your "Home" tab, go to "Archived Items" and download ("Add to home") the book you want to decrypt.
    It will be better(for complete beginners) if you download ONLY the book you want to get, because it will be easier to locate this book.
    So you should better have ONLY this book in the "Home" tab in "Kindle For PC" and all other books should be deleted (i.e. should be moved to "Archived Items").

    For the next part, see my next post.

    ReplyDelete
  151. Now, you should launch Command Prompt.

    In Command Prompt you will have to execute a command, similar to the following one:

    cd "C:\Users\YOUR_USER_NAME\Documents\My Kindle Content"

    Note: In this line you should replace "C:\Users\YOUR_USER_NAME\Documents\My Kindle Content" with path to your "My Kindle Content" folder.
    For example your user name is Anna and you use Windows 7, so you should construct the following command and then copy it:

    cd "C:\Users\Anna\Documents\My Kindle Content"

    Paste the line you constructed to Command Prompt(click little icon in the upper-left corner of the Command Prompt window, then click "Edit", then "Paste", then press Enter to execute command):

    Next, in Command Prompt you will have to execute a command, similar to the following one:

    skindle.exe -i B0RP2EET2_EBOK.prc -o book.mobi

    Note: In this line you should replace B0RP2EET2_EBOK.prc with the full name of the file you want to get (from "My Kindle Content" folder).
    Also you should replace "book" in book.mobi with the name for decrypted book.

    For example you want to decrypt the file Vsd44_EBOK.prc and you want to save it with the name mynewbook, here is the line you should construct:

    skindle.exe -i Vsd44_EBOK.prc -o mynewbook.mobi

    Paste the line you constructed to Command Prompt(click little icon in the upper-left corner of the Command Prompt window, then click "Edit", then "Paste", then press Enter to execute command):

    Now if all goes well, you will have your decrypted book named "mynewbook.mobi" in your "My Kindle Content" folder.

    Download and install any of these programs to view your mobi file:

    Mobireader
    http://www.mobipocket.com/en/DownloadSoft/ProductDetailsReader.asp

    FBReader
    http://www.fbreader.org/win32/

    P.S. Also if you want to see more detailed information about skindle.exe options, read this:
    C:\tools\Kindle_Mobi_Tools\skindle-06\README

    ReplyDelete
  152. This comment has been removed by a blog administrator.

    ReplyDelete
  153. This comment has been removed by the author.

    ReplyDelete
  154. Does anyone have any suggestions for running all of this through wine on a 64-bit system (ubuntu 10.4). I installed ActivePython 2.6 under wine as suggested by Dave:

    "Oh, and FYI, I'm running Kindle for PC under Wine in Linux, and using Activestate python for windows installed under wine as well. Your scripts work just fine (wine python unswindle.pyw)."

    I run the command and get the following error:

    ubunt@ubuntu:~/My eBooks$ wine python unswindle-v6-rc1.py
    Trying to load PE image for unsupported architecture (AMD-64)
    err:process:create_process starting 64-bit process L"C:\\Python26\\python.exe" not supported on this platform
    wine: Bad EXE format for C:\Python26\python.exe

    wine and python are AMD64. Is unswindle only 32-bit?

    ReplyDelete
  155. This comment has been removed by a blog administrator.

    ReplyDelete
  156. This comment has been removed by a blog administrator.

    ReplyDelete
  157. I haven't gotten it to work yet, but I still appreciate all your effort and the contribution you've made.

    I'm running into an error early in the script. I searched the comments in this post and read through a quite a few, but couldn't find anything similar to this or this early in the script. The error is:

    File "C:\scripts\unswindlev6.py", line 106
    DBG_CONTINUE = 0x00010002L
    ^
    SyntaxError: invalid syntax

    (The caret '^' appears under the L in a monospaced font)

    I'm running v6-rc1 in a command window with Administrator privileges on Windows 7 64-bit.

    I am using Python 3.1, 32-bit version.

    Thanks for any help.

    Rob

    ReplyDelete
  158. I get the same error but at line 100 with version 5 of the script.

    ReplyDelete
  159. I uninstalled Python 3.1 and installed 2.6.5, which eliminated that error. But now I get the "Unsupported version of Kindle For PC error. My kindle version is 1.1.0 (30136). Looking to see if I can uninstall and reinstall an earlier version.

    ReplyDelete
  160. This comment has been removed by a blog administrator.

    ReplyDelete
  161. This comment has been removed by a blog administrator.

    ReplyDelete
  162. This comment has been removed by a blog administrator.

    ReplyDelete
  163. Its been quite a while since any updates. Are you planing on taking on the new version of Kindle?

    ReplyDelete
  164. Tried using unswindle. Getting "error: failed to determine book path." I'm new at this. Running on WinXP 6.0, using K4PC beta. Can someone offer ne advice?

    ReplyDelete
  165. Super new version of K4PC out, July 4th version...

    ReplyDelete
  166. Whoops, I mean July 6th version...

    ReplyDelete
  167. @flashkid Are you certain? Downloading still gives me the same version I got last week. Does it work with unswindle v7?

    ReplyDelete
  168. @cabbage:
    Not sure it it is compatible with V7, because when I try to run it on the updated version of K4PC I have unswindle says "Incompatible version".

    Here's the screenshot of my About dialog...

    http://img3.imageshack.us/img3/3189/k4pc.gif

    ReplyDelete
  169. I went to Amazon and downloaded the newest version of K4PC and used v7 of Unswindle and it worked perfectly on a new Kindle Mobi.


    Thanks i♥cabbages,

    Stew

    ReplyDelete
  170. @flashkid Huh, that is odd, esp with stewball reporting success w/ a just-downloaded K4PC. Do you still have the installer EXE kicking around? And if so, could you e-mail it to me at i.u2665.cabbages@gmail.com?

    ReplyDelete
  171. Latest version is 1.1.1.30156

    http://www.mediafire.com/file/nj2ukzknz1z/KindleForPC-installer.rar

    ReplyDelete
  172. I'm getting "error: Unsupported version of Kindle For PC"

    ReplyDelete
  173. the version I have is 1.1.0 (30136)

    ReplyDelete
  174. Ian, I had the same problem. Looks like the built-in updater still has the previous version. I downloaded the latest installer from amazon.com and it works fine.

    ReplyDelete
  175. @atidball
    That made no since whatsoever to me. LOL, could you explain?

    ReplyDelete
  176. @atidball
    yep that fixed it thanks.. :-)

    ReplyDelete
  177. @flashkid
    I had K4PC already installed on my computer with a version that worked with the previous version of unswindle. I then let K4PC update itself. The version it gave me (the same version you got) is not the latest. The latest is available on amazon.

    ReplyDelete
  178. I have Python 2.6.5 x64, unswindle 6, mobidedrm 0.14, and Amazon Kindle for PC 1.0.1 Beta 1 installed.

    unswindle 6 and mobidedrm are in the same directory.

    When I double-click unswindle.pyw, nothing happens. No console opens. No processes instantiate. Nothing.

    Last week, this worked. The Python script would launch Amazon Kindle for PC. I have not updated, installed, or uninstalled anything on this PC. I have not even copied any files or directories.

    I am running Ms Windows Server 2008 R2 Standard. I am Administrator. I do not need elevated privileges like in Ms Windows 7.

    Why does nothing happen?

    ReplyDelete
  179. I allowed Amazon Kindle for PC to update itself to the latest version, 1.1.0. I also updated to unswindle 7.

    No change in behavior. As before, when I double-click unwindle.pyw, nothing happens.

    ReplyDelete
  180. This comment has been removed by the author.

    ReplyDelete
  181. I tried uninstalling and reinstalling everything based on both Amazon Kindle for PC 1.0.1 Beta 1 and 1.1.0 with both unswindle 6 and 7. This included cleaning up the directories and files left behind by Amazon Kindle for PC every time.

    No change in behavior. As before, when I double-click unwindle.pyw, nothing happens.

    ReplyDelete
  182. Ok, the can't find the book path problem seems to resolve if you are using the 1.0.1 beta version. As soon as you download it and install it, go the menu and uncheck the updates box. Then you have remove from the device all the books that were added when you had the newer version installed. If you don't redownload them from your archives, you will get errors. If you do you won't. If your books is in Topaz....oh, well

    ReplyDelete
  183. I installed unswindle 7 in my Python26 file, which also contains mobidedrm. I am running Windows 7, and Version 1.1.1 of K4PC. I get the following error message:

    Traceback (most recent call last):
    File "C:\Python26\unswindle.pyw", line 851, in gui_maininpath, pid = unswindler.get_book ()
    File "C:\Python26\unswindle.pyw", line 792 in get_bookgrabber = PC1KeyGrabber(debugger, self._hexdigest)
    File "C:\Python26\unswindle.pyw", line 652, in_init_ debugger.set_bp(self._taddr(addr), getattr(self, mname))
    File "C:\Python26\unswindle.pyw", line 461, in set_bpbyte = self.read_process_memory(addr, type=ctypes.c_byte)
    File "C:\Python26\unswindle.pyw", line 451, in read_process_memoryraise DebuggerError ("could not read memory @ 0x%8x" % (addr,))
    DebuggerError: ciould not read memory @ 0x1000000000016591f

    You have been so helpful to me in the past with inept, I really appreciate it. I am currently using skindle, but your UI sounds better. I am going to retry installing all of this as administrator, and see if that makes a difference. I will post if it does.

    Thanks, Debra

    ReplyDelete
  184. Big thanks - works perfectly. Kindle content on the iLiad - just like it should be.

    Combination:

    XP SP3
    Python 2.6.5
    Unswindle v.7
    mobidedrm taken from tools_v1.7

    Everything in the c:\python26 folder

    K4PC v1.1.1 released July 21

    Went without a hitch....thanks again.

    ReplyDelete
  185. I really liked your article. Keep up the good work.I love blooming flowers

    ReplyDelete
  186. I suggest this site to my friends so it could be useful & informative for them also. Great effort.
    send flowers to australia

    ReplyDelete
  187. In terms of finding a Kindle handheld PID, probably the easiest way is to use this: http://kindletools.prestonlee.com

    ReplyDelete
  188. the output file is still encrypted?? i am using unswindle 7 and K4PC 1.1.1 (30156)

    ReplyDelete
  189. Can I do this with Kindle for Mac?

    ReplyDelete
  190. Incompatible with K4PC 1.2.0. :(

    ReplyDelete
  191. Wholesale Chinese mobile phone,buy china mobile phones,china cell phones,China wholesale,china electronics,TV mobile phones,watch mobile phones,bluetooth heasets,from China wholesaler.
    china electronics

    ReplyDelete