Skip to content

Commit

Permalink
New approach to Android backup files. Changed version number to 6.3.1
Browse files Browse the repository at this point in the history
  • Loading branch information
apprenticeharper committed Aug 2, 2015
1 parent f5e66d4 commit aa822de
Show file tree
Hide file tree
Showing 24 changed files with 158 additions and 105 deletions.
Binary file modified DeDRM_Macintosh_Application/DeDRM ReadMe.rtf
Binary file not shown.
Binary file modified DeDRM_Macintosh_Application/DeDRM.app.txt
Binary file not shown.
9 changes: 5 additions & 4 deletions DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<key>CFBundleExecutable</key>
<string>droplet</string>
<key>CFBundleGetInfoString</key>
<string>DeDRM AppleScript 6.3.0 Written 2010–2015 by Apprentice Alf et al.</string>
<string>DeDRM AppleScript 6.3.1 Written 2010–2015 by Apprentice Alf et al.</string>
<key>CFBundleIconFile</key>
<string>DeDRM</string>
<key>CFBundleIdentifier</key>
Expand All @@ -36,7 +36,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>6.3.0</string>
<string>6.3.1</string>
<key>CFBundleSignature</key>
<string>dplt</string>
<key>LSRequiresCarbon</key>
Expand All @@ -48,16 +48,17 @@
<key>bundleDividerCollapsed</key>
<false/>
<key>bundlePositionOfDivider</key>
<real>1162</real>
<key>dividerCollapsed</key>
<false/>
<key>eventLogLevel</key>
<integer>0</integer>
<key>name</key>
<string>ScriptWindowState</string>
<key>positionOfDivider</key>
<real>439</real>
<real>652</real>
<key>savedFrame</key>
<string>128 98 1246 778 0 0 1680 1027 </string>
<string>0 36 1680 991 0 0 1680 1027 </string>
<key>selectedTab</key>
<string>log</string>
</dict>
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,15 @@
# 6.2.1 - Fix for non-ascii Windows user names
# 6.2.2 - Added URL method for B&N/nook books
# 6.3.0 - Added in Kindle for Android serial number solution
# 6.3.1 - Version number bump for clarity


"""
Decrypt DRMed ebooks.
"""

PLUGIN_NAME = u"DeDRM"
PLUGIN_VERSION_TUPLE = (6, 3, 0)
PLUGIN_VERSION_TUPLE = (6, 3, 1)
PLUGIN_VERSION = u".".join([unicode(str(x)) for x in PLUGIN_VERSION_TUPLE])
# Include an html helpfile in the plugin's zipfile with the following name.
RESOURCE_NAME = PLUGIN_NAME + '_Help.htm'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160
{\rtf1\ansi\ansicpg1252\cocoartf1348\cocoasubrtf170
{\fonttbl}
{\colortbl;\red255\green255\blue255;}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"""

__license__ = 'GPL v3'
__version__ = "1.0"
__version__ = "1.1"

import sys
import os
Expand Down Expand Up @@ -101,23 +101,23 @@ class IGNOBLEError(Exception):
pass

def fetch_key(email, password):
# change name and CC numbers to utf-8 if unicode
# change email and password to utf-8 if unicode
if type(email)==unicode:
email = email.encode('utf-8')
if type(password)==unicode:
password = password.encode('utf-8')

import random
random = "%030x" % random.randrange(16**30)

import urllib, urllib2, re

# try the URL from nook for PC
fetch_url = "https://cart4.barnesandnoble.com/services/service.aspx?Version=2&acctPassword="
fetch_url += urllib.quote(password,'')+"&devID=PC_BN_2.5.6.9575_"+random+"&emailAddress="
fetch_url += urllib.quote(email,"")+"&outFormat=5&schema=1&service=1&stage=deviceHashB"
#print fetch_url

found = ''
try:
req = urllib2.Request(fetch_url)
Expand All @@ -133,13 +133,13 @@ def fetch_key(email, password):
fetch_url += urllib.quote(password,'')+"&devID=hobbes_9.3.50818_"+random+"&emailAddress="
fetch_url += urllib.quote(email,"")+"&outFormat=5&schema=1&service=1&stage=deviceHashB"
#print fetch_url

found = ''
try:
req = urllib2.Request(fetch_url)
response = urllib2.urlopen(req)
the_page = response.read()
#print the_page
#print the_page
found = re.search('ccHash>(.+?)</ccHash', the_page).group(1)
except:
found = ''
Expand Down Expand Up @@ -169,6 +169,7 @@ def cli_main():
def gui_main():
try:
import Tkinter
import tkFileDialog
import Tkconstants
import tkMessageBox
import traceback
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,14 @@
# 2.5 - Additional improvement for unicode and plugin support
# 2.6 - moved unicode_argv call inside main for Windows DeDRM compatibility
# 2.7 - Work if TkInter is missing
# 2.8 - Fix bug in stand-alone use (import tkFileDialog)

"""
Generate Barnes & Noble EPUB user key from name and credit card number.
"""

__license__ = 'GPL v3'
__version__ = "2.7"
__version__ = "2.8"

import sys
import os
Expand Down Expand Up @@ -240,6 +241,7 @@ def gui_main():
import Tkinter
import Tkconstants
import tkMessageBox
import tkFileDialog
import traceback
except:
return cli_main()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -323,8 +323,8 @@ def cli_main():
serials = a.split(',')
if o == '-a':
if a == None:
continue
androidFiles.apprend(a)
raise DrmException("Invalid parameter for -a")
androidFiles.append(a)

# try with built in Kindle Info files if not on Linux
k4 = not sys.platform.startswith('linux')
Expand Down
7 changes: 4 additions & 3 deletions DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_app.pyw
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-

# DeDRM.pyw
# Copyright 2010-2013 some_updates and Apprentice Alf
# Copyright 2010-2015 some_updates, Apprentice Alf and Apprentice Harper

# Revision history:
# 6.0.0 - Release along with unified plugin
Expand All @@ -15,8 +15,9 @@
# 6.2.1 - Fix for non-ascii user names
# 6.2.2 - Added URL method for B&N/nook books
# 6.3.0 - Add in Android support
# 6.3.1 - Version bump for clarity

__version__ = '6.3.0'
__version__ = '6.3.1'

import sys
import os, os.path
Expand Down Expand Up @@ -167,7 +168,7 @@ class PrefsDialog(Toplevel):
body.pack(fill=Tkconstants.X, expand=1)
sticky = Tkconstants.E + Tkconstants.W
body.grid_columnconfigure(1, weight=2)

cur_row = 0
Tkinter.Label(body, text='Adobe Key file (adeptkey.der)').grid(row=cur_row, sticky=Tkconstants.E)
self.adkpath = Tkinter.Entry(body, width=50)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,15 @@
# 6.2.1 - Fix for non-ascii Windows user names
# 6.2.2 - Added URL method for B&N/nook books
# 6.3.0 - Added in Kindle for Android serial number solution
# 6.3.1 - Version number bump for clarity


"""
Decrypt DRMed ebooks.
"""

PLUGIN_NAME = u"DeDRM"
PLUGIN_VERSION_TUPLE = (6, 3, 0)
PLUGIN_VERSION_TUPLE = (6, 3, 1)
PLUGIN_VERSION = u".".join([unicode(str(x)) for x in PLUGIN_VERSION_TUPLE])
# Include an html helpfile in the plugin's zipfile with the following name.
RESOURCE_NAME = PLUGIN_NAME + '_Help.htm'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"""

__license__ = 'GPL v3'
__version__ = "1.0"
__version__ = "1.1"

import sys
import os
Expand Down Expand Up @@ -101,23 +101,23 @@ class IGNOBLEError(Exception):
pass

def fetch_key(email, password):
# change name and CC numbers to utf-8 if unicode
# change email and password to utf-8 if unicode
if type(email)==unicode:
email = email.encode('utf-8')
if type(password)==unicode:
password = password.encode('utf-8')

import random
random = "%030x" % random.randrange(16**30)

import urllib, urllib2, re

# try the URL from nook for PC
fetch_url = "https://cart4.barnesandnoble.com/services/service.aspx?Version=2&acctPassword="
fetch_url += urllib.quote(password,'')+"&devID=PC_BN_2.5.6.9575_"+random+"&emailAddress="
fetch_url += urllib.quote(email,"")+"&outFormat=5&schema=1&service=1&stage=deviceHashB"
#print fetch_url

found = ''
try:
req = urllib2.Request(fetch_url)
Expand All @@ -133,13 +133,13 @@ def fetch_key(email, password):
fetch_url += urllib.quote(password,'')+"&devID=hobbes_9.3.50818_"+random+"&emailAddress="
fetch_url += urllib.quote(email,"")+"&outFormat=5&schema=1&service=1&stage=deviceHashB"
#print fetch_url

found = ''
try:
req = urllib2.Request(fetch_url)
response = urllib2.urlopen(req)
the_page = response.read()
#print the_page
#print the_page
found = re.search('ccHash>(.+?)</ccHash', the_page).group(1)
except:
found = ''
Expand Down Expand Up @@ -169,6 +169,7 @@ def cli_main():
def gui_main():
try:
import Tkinter
import tkFileDialog
import Tkconstants
import tkMessageBox
import traceback
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,14 @@
# 2.5 - Additional improvement for unicode and plugin support
# 2.6 - moved unicode_argv call inside main for Windows DeDRM compatibility
# 2.7 - Work if TkInter is missing
# 2.8 - Fix bug in stand-alone use (import tkFileDialog)

"""
Generate Barnes & Noble EPUB user key from name and credit card number.
"""

__license__ = 'GPL v3'
__version__ = "2.7"
__version__ = "2.8"

import sys
import os
Expand Down Expand Up @@ -240,6 +241,7 @@ def gui_main():
import Tkinter
import Tkconstants
import tkMessageBox
import tkFileDialog
import traceback
except:
return cli_main()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -323,8 +323,8 @@ def cli_main():
serials = a.split(',')
if o == '-a':
if a == None:
continue
androidFiles.apprend(a)
raise DrmException("Invalid parameter for -a")
androidFiles.append(a)

# try with built in Kindle Info files if not on Linux
k4 = not sys.platform.startswith('linux')
Expand Down
3 changes: 2 additions & 1 deletion DeDRM_calibre_plugin/DeDRM_plugin/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,15 @@
# 6.2.1 - Fix for non-ascii Windows user names
# 6.2.2 - Added URL method for B&N/nook books
# 6.3.0 - Added in Kindle for Android serial number solution
# 6.3.1 - Version number bump for clarity


"""
Decrypt DRMed ebooks.
"""

PLUGIN_NAME = u"DeDRM"
PLUGIN_VERSION_TUPLE = (6, 3, 0)
PLUGIN_VERSION_TUPLE = (6, 3, 1)
PLUGIN_VERSION = u".".join([unicode(str(x)) for x in PLUGIN_VERSION_TUPLE])
# Include an html helpfile in the plugin's zipfile with the following name.
RESOURCE_NAME = PLUGIN_NAME + '_Help.htm'
Expand Down
17 changes: 9 additions & 8 deletions DeDRM_calibre_plugin/DeDRM_plugin/ignoblekeyfetch.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"""

__license__ = 'GPL v3'
__version__ = "1.0"
__version__ = "1.1"

import sys
import os
Expand Down Expand Up @@ -101,23 +101,23 @@ class IGNOBLEError(Exception):
pass

def fetch_key(email, password):
# change name and CC numbers to utf-8 if unicode
# change email and password to utf-8 if unicode
if type(email)==unicode:
email = email.encode('utf-8')
if type(password)==unicode:
password = password.encode('utf-8')

import random
random = "%030x" % random.randrange(16**30)

import urllib, urllib2, re

# try the URL from nook for PC
fetch_url = "https://cart4.barnesandnoble.com/services/service.aspx?Version=2&acctPassword="
fetch_url += urllib.quote(password,'')+"&devID=PC_BN_2.5.6.9575_"+random+"&emailAddress="
fetch_url += urllib.quote(email,"")+"&outFormat=5&schema=1&service=1&stage=deviceHashB"
#print fetch_url

found = ''
try:
req = urllib2.Request(fetch_url)
Expand All @@ -133,13 +133,13 @@ def fetch_key(email, password):
fetch_url += urllib.quote(password,'')+"&devID=hobbes_9.3.50818_"+random+"&emailAddress="
fetch_url += urllib.quote(email,"")+"&outFormat=5&schema=1&service=1&stage=deviceHashB"
#print fetch_url

found = ''
try:
req = urllib2.Request(fetch_url)
response = urllib2.urlopen(req)
the_page = response.read()
#print the_page
#print the_page
found = re.search('ccHash>(.+?)</ccHash', the_page).group(1)
except:
found = ''
Expand Down Expand Up @@ -169,6 +169,7 @@ def cli_main():
def gui_main():
try:
import Tkinter
import tkFileDialog
import Tkconstants
import tkMessageBox
import traceback
Expand Down
Loading

0 comments on commit aa822de

Please sign in to comment.