Slashdot Mirror


Amazon Uses DMCA To Restrict Ebook Purchases

InlawBiker writes "Today, Amazon invoked the DMCA to force removal of a python script and instructions from the mobileread web site. The script is used to identify the Kindle's internal ID number, which can be used to enable non-Amazon purchased books to work on the Kindle. '...this week we received a DMCA take-down notice from Amazon requesting the removal of the tool kindlepid.py and instructions for it. Although we never hosted this tool (contrary to their claim), nor believe that this tool is used to remove technological measures (contrary to their claim), we decided, due to the vagueness of the DMCA law and our intention to remain in good relation with Amazon, to voluntarily follow their request and remove links and detailed instructions related to it.' Ironically, the purpose of the script is to make the Kindle more useful to its users."

14 of 409 comments (clear)

  1. Re:Kindle is a piece of shit by Anonymous Coward · · Score: 5, Funny

    and so are you slashdot fags!

    Grow up and quit name calling, we're not in kindlegarten anymore!

  2. First Sale My Ass by ObsessiveMathsFreak · · Score: 5, Insightful

    How dare anyone attempt to enable users to do as they please with Amazon's personal property! Kindles and all their associated contents are the intellectual property of Amazon in perpetuity and just because you paid money for one and are in personal possession of it, that does not entitle you to do with it as you please.

    I mean, where would we be if people could do as they liked with the things they buy?

    --
    May the Maths Be with you!
    1. Re:First Sale My Ass by nahdude812 · · Score: 5, Interesting

      I'd gladly pay retail price for my phone if it meant no contract. I'm highly allergic to service contracts in general, I will pay more up front to avoid them subsidizing me with tie-ins. When there's a service contract, they have no motivation to provide good service past the contract signing.

      Before I got an iPhone, I was on Verizon Wireless for quite a few years. Once my initial contract expired, I started getting frequent calls from VZW which went something like:

      "The plan you're on right now is no longer offered, but we can grandfather you in if you'll agree to a renewed contract."

      "What happens if I don't agree to the new contract?" said I.

      "You'll continue with the same features, at the same rate as you're paying now, but it won't be part of a plan," was the response.

      "What's the advantage of being on a plan if I get the same features for the same price without being on a plan?" I countered.

      "Without a plan, you... I'm not... well you would be planless! You would not be on a plan!"

      "So what reason would I have to renew my contract, if I could avoid renewing my contract and get exactly the same thing?"

      "I really suppose there's no reason you would want to do that," was the actual response one person gave me. I hope she didn't get in trouble, but I sincerely appreciated her candor.

      These calls happened weekly, and each time they got more aggressive. One person suggested that I would lose my service if I didn't agree to a new contract. When I asked her in direct terms, "Is it true that if I do not re-up my contract, I will continue with the same features as I have now, at the same price, and that there is no reason to suspect this would change any time in the foreseeable future?" she responded, "No sir, your service will be cut off." I said, "Then please disconnect my service as of tomorrow, I will go out this afternoon and find a new carrier." It turns out this was a third party company who was only authorized to renew my contract, not cancel my service.

      Previously when I had asked them to stop calling me about this, they had assured me they would.

      After this most recent interaction where I was threatened with disconnection if I didn't re-up, I called Verizon Wireless customer service directly. I asked to cancel my service, and I was transferred to the cancellation department. I told them that if I received even one more call about renewing my contract, I would cancel my service immediately. They said something about "30 business days to process that request," (keep in mind, I had been getting the calls weekly). I repeated, "I don't care how long you're told to tell me that it takes to get me off that list, if I get such a call in even five minutes, I'm calling you back immediately to cancel. If you guys can get me off the list before the next time your contracted company gets to my number, then you will keep me as a customer; if you can't, then you lose me."

      I never got another such call, and had service with them for probably three more years.

      Now bear in mind whatever subsidization of initial costs they required had already been covered. I had made no indication that I wanted to stop my service with them, and fully expected to continue my service indefinitely, but here they were trying to pressure me into a commitment with absolutely no benefit to myself. If I had kept them happily for ten years, and they had called me again for this purpose after all that time, I would have fulfilled my promise and canceled my account immediately.

      So, sorry for the long anecdote, but I'm one of those people who detests service contracts; I'll definitely cover any subsidization costs myself in order to avoid them.

  3. More useful? To whom? by Kazoo+the+Clown · · Score: 5, Insightful

    It's not about the Kindle's usefullness to the user, it's about the Kindle's usefullnes to amazon. The Kindle is not where Amazon makes their money, it's on the sale of the ebooks-- if people are buying them from elsewhere, Amazon is not getting their profit, and in fact it may be costing them money-- the Kindle is essentially subsidised by their ebooks.

  4. Link to Script in Question by Anonymous Coward · · Score: 5, Informative

    Link to the author's reverse engineering blog and script description:

    Here.

    Link to just the scripts Here.

    Anonymous to avoid KarmaWhoring(TM)

  5. Re:Way to let a company by Ibag · · Score: 5, Insightful

    Just because you run and hide from a pack of wolves doesn't mean you are a sheep. While you might wish them to martyr themselves for your principles, if they don't have the resources to fight, or if a win would not accomplish anything for anybody else, why shouldn't they act in their own best interests?

  6. Exactly by Man+On+Pink+Corner · · Score: 5, Insightful

    Sony's got to be kicking themselves, wondering where they went wrong. When they released a portable digital Walkman without native support for .MP3s, people just laughed at them.

    Yet when Amazon releases a portable reader without native support for .PDFs, people trample their own mothers to get in line to buy one.

    Can you imagine the derision people would have for Apple if you had to email your .MP3s to convert@apple.com to put them on your iPod or iPhone?

    1. Re:Exactly by nahdude812 · · Score: 5, Informative

      Where did you hear that there is no native support for PDF's?

      You can easily load PDF's to the Kindle. Not only can you mount the Kindle as a drive and copy the file that way, but when you buy a kindle, you get a something@kindle.com email address which you can email txt, htm, and pdf files to (as long as it's from a From address which you have whitelisted) - they will load it automatically to your kindle over its built-in 3G connection.

      I loaded several Cory Doctorow books to mine this way.

      This python script creates a hash to make the Kindle think that .mobi files (Secure Mobipocket books, a competitor of Amazon's for this market) are native Amazon books. After you get a hash from kindlepid.py, you run kindlefix.py on your .mobi file with your hash, and it produces a .azw file which the Kindle then thinks is one of its own book formats.

      GP is almost certainly right, I find it unlikely that Amazon makes a profit on the Kindle device itself, they are relying on $10 books to cover the cost of the hardware and the contract with Sprint whereby they give you free 3G access. If you're buying your books elsewhere, Amazon's going to take a loss on the whole shebang, and that's most likely what they're trying to prevent (while counting on the fact that you can't get non-drm'd copies of most books such as in .txt, .pdf, or .htm format).

  7. DMCA TAKEDOWN! by Philip+K+Dickhead · · Score: 5, Informative
    --
    "Speaking the Truth in times of universal deceit is a revolutionary act." -- George Orwell
  8. Its an industrial standard by Demonantis · · Score: 5, Insightful

    Amazon isn't the only one that does this. Apple does this with their products. A lot of printing companies do this with ink cartridges. Car companies often control the supply of replacement parts. Secondary purchases are a huge economy everywhere. I don't like that use of the DMCA, though. Its implications really scare me. What if I modified my car then release the notes on a web page. Could the manufacture DMCA it down? Should this be an acceptable use of the DMCA? I think that DMCA notices should really come with a danger to misuse. If there isn't companies could DMCA their way out of webpages that attack their product. It would really make the company think about it be before it brought down it's huge club of injustice on an individual.

  9. Re:Torrent? by QuoteMstr · · Score: 5, Informative

    kindlefix.py


    import prc, sys, struct
    from binascii import hexlify

    def strByte(s,off=0):
    return struct.unpack(">B",s[off])[0];

    def strSWord(s,off=0):
    return struct.unpack(">h",s[off:off+2])[0];

    def strWord(s,off=0):
    return struct.unpack(">H",s[off:off+2])[0];

    def strDWord(s,off=0):
    return struct.unpack(">L",s[off:off+4])[0];

    def strPutDWord(s,off,i):
    return s[:off]+struct.pack(">L",i)+s[off+4:];

    keyvec1 = "\x72\x38\x33\xB0\xB4\xF2\xE3\xCA\xDF\x09\x01\xD6\xE2\xE0\x3F\x96"

    #implementation of Pukall Cipher 1
    def PC1(key, src, decryption=True):
    sum1 = 0;
    sum2 = 0;
    keyXorVal = 0;
    if len(key)!=16:
    print "Bad key length!"
    return None
    wkey = []
    for i in xrange(8):
    wkey.append(ord(key[i*2])> 8)) ^ byteXorVal) & 0xFF
    if decryption:
    keyXorVal = curByte * 257;
    for j in xrange(8):
    wkey[j] ^= keyXorVal;

    dst+=chr(curByte)

    return dst

    def find_key(rec0, pid):
    off1 = strDWord(rec0, 0xA8)
    if off1==0xFFFFFFFF or off1==0:
    print "No DRM"
    return None
    size1 = strDWord(rec0, 0xB0)
    cnt = strDWord(rec0, 0xAC)
    flag = strDWord(rec0, 0xB4)

    temp_key = PC1(keyvec1, pid.ljust(16,'\0'), False)
    cksum = 0
    #print pid, "->", hexlify(temp_key)
    for i in xrange(len(temp_key)):
    cksum += ord(temp_key[i])
    cksum &= 0xFF
    temp_key = temp_key.ljust(16,'\0')
    #print "pid cksum: %02X"%cksum

    #print "Key records: %02X-%02X, count: %d, flag: %02X"%(off1, off1+size1, cnt, flag)
    iOff = off1
    drm_key = None
    for i in xrange(cnt):
    dwCheck = strDWord(rec0, iOff)
    dwSize = strDWord(rec0, iOff+4)
    dwType = strDWord(rec0, iOff+8)
    nCksum = strByte(rec0, iOff+0xC)
    #print "Key record %d: check=%08X, size=%d, type=%d, cksum=%02X"%(i, dwCheck, dwSize, dwType, nCksum)
    if nCksum==cksum:
    drmInfo = PC1(temp_key, rec0[iOff+0x10:iOff+0x30])
    dw0, dw4, dw18, dw1c = struct.unpack(">II16xII", drmInfo)
    #print "Decrypted drmInfo:", "%08X, %08X, %s, %08X, %08X"%(dw0, dw4, hexli

  10. Amazon is wrong on the law by belmolis · · Score: 5, Informative

    Leaving aside the issue of users' rights, as far as I can see Amazon is just plain wrong on the law and lacks legal justification for the takedown notice. What the DMCA prohibits is the distribution of tools for overcoming technical measures for protecting copyrighted materials. The first program generates a MOBI ID from a kindle serial number. The second program rewrites a non-Amazon ebook so that it contains the id that will allow it to work on the Kindle with the given serial number. Neither program modifies or copies the Kindle's software. Since the ebooks in question are not produced by Amazon, no material whose copyright belongs to Amazon is affected in any way. In other words, this software does not defeat any technical measure of Amazon's for protecting copyrighted material since Amazon has no copyrighted material at stake here. The DMCA is inapplicable, and the takedown notice invalid. Indeed, it is so clear that this software does nothing to defeat protection of copyrighted material that I would say that the takedown notice was issued in bad faith.

    What this software actually does is allow for interoperability, which is explicitly protected by the DMCA.

  11. Re:Isn't Kindle a Loss-Leader? by QuoteMstr · · Score: 5, Insightful

    There's already a perfectly good legal mechanism to amortize high up-front costs over a product's lifetime: it's called a lease. If a company wants to restrict how a product is used, the company and the customer can sign a lease agreement. Xerox very successfully used that business model for its early photocopies.

    The problem we're seeing today is that companies want to have their cake and eat it too. They want customers to feel like they're making a purchase, but act like they're under the terms of a lease. That's fucking bullshit, and runs counter to personal property rights at the core of Western civilization.

    In short, if you want to tell me how to use your widget, you'd better lease it to me. No way in hell should you be telling me how to use property I've purchased outright without signing any kind of contract with you.