diff --git a/DeGourou.py b/DeGourou.py
index 92a6655..b119012 100644
--- a/DeGourou.py
+++ b/DeGourou.py
@@ -4,38 +4,63 @@ from setup.fulfill import downloadFile
from decrypt.decodePDF import decryptPDF
from decrypt.decodeEPUB import decryptEPUB
-# setting up the account and keys
-loginAndGetKey()
+import argparse
+from os import mkdir, remove, rename
+from os.path import exists
-# acsm file
-acsmFile = input("Enter ACSM file (press enter if the file name is URLLink.acsm): ")
-if acsmFile == "":
- from os.path import exists
- if exists("URLLink.acsm"):
- acsmFile = "URLLink.acsm"
- else:
- print("URLLink.acsm file does not exists")
+from setup.params import FILE_DEVICEKEY, FILE_DEVICEXML, FILE_ACTIVATIONXML
+from decrypt.params import KEYPATH
+from setup.data import createDefaultFiles
+
+def main(acsmFile, login):
+
+ # user login
+ if login:
+ if not exists("account"):
+ mkdir("account")
+ loginAndGetKey()
+ exit(0)
+
+ # setting up the account and keys
+ if not (exists(FILE_ACTIVATIONXML) and exists(FILE_DEVICEXML) and exists(FILE_DEVICEKEY) and exists(KEYPATH)):
+ if not exists("account"):
+ mkdir("account")
+ createDefaultFiles()
+
+ # cheek for file existance
+ if not exists(acsmFile):
+ print(f"{acsmFile} file does not exist")
print()
exit(1)
-# downlaod
-enrcyptedFile = downloadFile(acsmFile)
-print(enrcyptedFile)
-print()
-
-# decrypt
-if enrcyptedFile.endswith(".pdf"):
- decryptedFile = decryptPDF(enrcyptedFile)
-elif enrcyptedFile.endswith(".epub"):
- decryptedFile = decryptEPUB(enrcyptedFile)
-else:
- print("Not in supported file formats")
+ # download
+ encryptedFile = downloadFile(acsmFile)
+ print(encryptedFile)
print()
- exit(1)
-from os import remove, rename
-remove(enrcyptedFile)
-rename(decryptedFile,enrcyptedFile)
-decryptedFile = enrcyptedFile
-print(decryptedFile)
-print()
\ No newline at end of file
+ # decrypt
+ if encryptedFile.endswith(".pdf"):
+ decryptedFile = decryptPDF(encryptedFile)
+ elif encryptedFile.endswith(".epub"):
+ decryptedFile = decryptEPUB(encryptedFile)
+ else:
+ print("File format not supported")
+ print()
+ exit(1)
+
+ remove(encryptedFile)
+ rename(decryptedFile, encryptedFile)
+ decryptedFile = encryptedFile
+ print(decryptedFile)
+ print()
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="Download and Decrypt an encrypted PDF or EPUB file. It uses Dummy account for ADE, you can overide using --login")
+ parser.add_argument("file", type=str, nargs='?', default="URLLink.acsm", help="Path to the ACSM file")
+ parser.add_argument("-l", "--login", action="store_true", help="Login to your ADE account. (optional)")
+ args = parser.parse_args()
+ if args.file == "URLLink.acsm" and not exists(args.file):
+ parser.print_help()
+ else:
+ main(args.file, args.login)
diff --git a/README.md b/README.md
index 9c4d4ff..c8896e7 100644
--- a/README.md
+++ b/README.md
@@ -6,16 +6,15 @@
## Things you need
-1. Adobe Account (dummy account recommended)
-2. Internet Archive Account
-3. ACSM file from the book page you borrowded from Internet Archive
-4. Python v3.x.x Installed with pip (not required for normal users)
+1. ACSM file from the book page you borrowded from Internet Archive
+2. Adobe Account (optional) (dummy account recommended)
+3. Python v3.x.x Installed with pip (not required for normal users)
---
## Guide
-*It only asks for login the first time if no files are misssing, so do not delete any files that are not books*
+*It uses dummy account for ADE, you can also use your own account*
### For Normal Users
1. Download binary file according to your operating system from [Releases Section](https://github.com/bipinkrish/DeGourou/releases)
@@ -36,7 +35,7 @@
1. Clone the repositary or Download zip file and extract it
2. Install requirements using pip
-3. Run "DeGourou" file
+3. Run "DeGourou.py" file
```
@@ -48,6 +47,23 @@ python DeGourou.py
---
+## Usage
+
+```
+usage: DeGourou [-h] [-l] [file]
+
+Download and Decrypt an encrypted PDF or EPUB file. It uses Dummy account for ADE, you can overide using --login
+
+positional arguments:
+ file Path to the ACSM file
+
+optional arguments:
+ -h, --help show this help message and exit
+ -l, --login Login to your ADE account. (optional)
+```
+
+---
+
## Credits
This project is highly inspired from these projects, thanks to them
diff --git a/decrypt/decodeEPUB.py b/decrypt/decodeEPUB.py
index 048034a..7c69ad0 100644
--- a/decrypt/decodeEPUB.py
+++ b/decrypt/decodeEPUB.py
@@ -11,7 +11,7 @@
Decrypt Adobe Digital Editions encrypted ePub books.
"""
-KEYPATH = "adobekey.der"
+from decrypt.params import KEYPATH
__license__ = 'GPL v3'
__version__ = "8.0"
@@ -20,7 +20,6 @@ import os
import traceback
import base64
import zlib
-import zipfile
from zipfile import ZipInfo, ZipFile, ZIP_STORED, ZIP_DEFLATED
from decrypt.zeroedzipinfo import ZeroedZipInfo
from contextlib import closing
diff --git a/decrypt/decodePDF.py b/decrypt/decodePDF.py
index d958877..271f859 100644
--- a/decrypt/decodePDF.py
+++ b/decrypt/decodePDF.py
@@ -13,7 +13,7 @@
Decrypts Adobe ADEPT-encrypted PDF files.
"""
-KEYPATH = "adobekey.der"
+from decrypt.params import KEYPATH
__license__ = 'GPL v3'
__version__ = "10.0.4"
diff --git a/decrypt/params.py b/decrypt/params.py
new file mode 100644
index 0000000..08bdfd9
--- /dev/null
+++ b/decrypt/params.py
@@ -0,0 +1 @@
+KEYPATH = "account/adobekey.der"
\ No newline at end of file
diff --git a/setup/data.py b/setup/data.py
new file mode 100644
index 0000000..9aa457c
--- /dev/null
+++ b/setup/data.py
@@ -0,0 +1,56 @@
+from setup.params import FILE_DEVICEKEY, FILE_DEVICEXML, FILE_ACTIVATIONXML
+from decrypt.params import KEYPATH
+
+keyContent = b'0\x82\x02\\\x02\x01\x00\x02\x81\x81\x00\xad*E\x8e0\n\x91\xd6\xbaj\xc1t3\xc2R2h\xa6\x18\x063i\xfd\x9bR/e\xa6\xec\x87\xab\x11\n\'\xb7\x93\x14\xb6\xbbm\xfa\xf0\xf4\xe8=\x18\xa6\xe9\x15$\xdao\xb3\x8d\xf5\xddT\n\xf5\t<\xe8\xb2\x93k\x02zi\xe6\x86\x10F\x13\xc9m\xcfZ\x83\xe6=\xd6G\xf2/]3\xff\x8ch#\xea|\xa9I\x9a\xf6\xbf\x19\xd9\x10\xe0\x18\xa1\rb\x801k~\xc03f\x84\x07{v\x88\x18\x9bH\x91+o \x90\x9b\xb7\xf5\x02\x03\x01\x00\x01\x02\x81\x80\x05\xfd\x95\xd3\x886\x9a\xba\x8ck\xc1\xb5\xc21\x86\xab\x1a\xa8^\x1af%\x9b\x8a\xc0\x96\xc6\x10}\xb6\xf6\xeb\x80\xc4R\xc2@\x9d\xf9F\xa1\xf7\xe6\x06jPs\xad\xc3w\xd3\xea\xb7\xca\xec\x03\x17\xcf\xff\x01u\x96\x15\n\x0e&\xb0\xc7\x90F\xc4\xdaZ"\xc1)>\xee\x19\xf6\x05\xa5\xba\x00H)\xa8>\x1fC\x02\xd3\xba\xa8){\x06^D\xb4\xfd"\x05\x05\xec\xef\xdb.tbZ8\xabU<,+\xb6\xfaI\x98\xcc7H\xedr\xa9\xfd\x02A\x00\xc27%\xc5\xa0\xff\xd5l\xaa\x7f=\x1dx\xab?\xd8~\xf7v\x1f!\x0cCh\xc9\xb4\x1a\x8b\xb2\xaeC\xa0\xf9\x91\xcc\x99<\x11\xfbQ\xae\x8fG\xb0\xd1b\x0c=\xebR\x19\xb4\x15\xd4\x1c\xbe\xf4\xc7E\xe8\xea\xe1\xb3\x0b\x02A\x00\xe4@\xcb(\xdd\x04F\xe4jT\xe5a\xaaj\xaf=F\xa1\xaf\x1c\xa6F\x93\xc7V1\xd9\xb1\x96\xdb\x1b\xf5\x86\r\xb11\x10\x12\x18\xc5\xee\xaeD\xa3\xc1/\xe3\xf2\x8f\xaf\xad\xda\xe6\t\x8d\x9d\x99z\x04\xeeK\xdb \xff\x02A\x00\xad_\x9d\x90v\xd0\xeb->f\xa7\xa0\x0f\x80\x90V+\xc1\xac\xe8\xcd\x0f\xad}u\xd2\x19\x80k\xd9\xb4\xf5\x96\xd4\xd8\xd8R\x0f\x9bR\xa7\x89\xb0m\xdf\xfc\xaf\x00\xf7y+\x08\xe0\x13\xa25\xb5=\xce\xe2\xc6\x0b\x05Q\x02@\x18\xee\xf7\x02\\\xbaU\xe0\'\xb9da9\xd3s\x97\x16\xfb\x1c|\xdd\xb1\x01\xfd\x99m\xd2\xa0\xf2\xa0\xb6\xba(M\xa0\x98\x82o\xe7\xa2\xdf\x82\xcb\xde\xb3\x80\xbe\xbe\xc5qdep\x11\x85\x15\xbd)6\x16\xad\xd4\x9f\x13\x02@\x0f\x15\xc1Y"b\x19\x81Q\x81\x8d\x006\xe4\xf0e\xa2\xa7\xb8\x98{\x1c\x12\xe0\nw\xbe\x86A-\xd0\x1c7\xf3\x169\xadd3\x85\xaf\x13\x99\x08\x97e)c\xaf\xb1V\xf1\x15\xf6K\r\x16\xb4\xf9\xd1\x10\xe2\x92\xf9'
+
+saltContent = b'\x12\x96E6*7!\x12\xd3\x9b\x18\xba\xfd\xf3\x96\xa9'
+
+devicexmlContent = """
+
+ standalone
+ Desktop
+ bc9226e3a1b58113c0856fcae2be8fecb1aeccec
+ DESKTOP-QJUK0UB
+
+
+
+ 18wJz7tUeD4LJrQ0vPQONAC2nD0=
+
+"""
+
+activationContent = """
+
+
+ http://adeactivate.adobe.com/adept
+ http://adeactivate.adobe.com/adept
+ http://adeactivate.adobe.com/adept
+ MIIEsjCCA5qgAwIBAgIER2q5eDANBgkqhkiG9w0BAQUFADCBhDELMAkGA1UEBhMCVVMxIzAhBgNVBAoTGkFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkMRswGQYDVQQLExJEaWdpdGFsIFB1Ymxpc2hpbmcxMzAxBgNVBAMTKkFkb2JlIENvbnRlbnQgU2VydmVyIENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wODAxMDkxODM3NDVaFw0xMzAxMDkxOTA3NDVaMH0xCzAJBgNVBAYTAlVTMSMwIQYDVQQKExpBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZDEbMBkGA1UECxMSRGlnaXRhbCBQdWJsaXNoaW5nMSwwKgYDVQQDEyNodHRwOi8vYWRlYWN0aXZhdGUuYWRvYmUuY29tL2FkZXB0LzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyXpCCWFh0Q3Bi1S7xf+CJfMd+cZz3HB0NknDScB1Cs8KdU0ygO7iqAgdiAdPliITkUTVEgUPvK+4yYCUderzBjq13/IrKlwEAyWeNgssJekpYgqNywo7Md1OApXzM47wVThNePNydhGYuNEEDDxzO+0JxucfhfArwnp7kIWA6q8CAwEAAaOCAbQwggGwMAsGA1UdDwQEAwIFoDBYBglghkgBhvprHgEESwxJVGhlIHByaXZhdGUga2V5IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBjZXJ0aWZpY2F0ZSBtYXkgaGF2ZSBiZWVuIGV4cG9ydGVkLjAUBgNVHSUEDTALBgkqhkiG9y8CAQQwgbIGA1UdIASBqjCBpzCBpAYJKoZIhvcvAQIDMIGWMIGTBggrBgEFBQcCAjCBhhqBg1lvdSBhcmUgbm90IHBlcm1pdHRlZCB0byB1c2UgdGhpcyBMaWNlbnNlIENlcnRpZmljYXRlIGV4Y2VwdCBhcyBwZXJtaXR0ZWQgYnkgdGhlIGxpY2Vuc2UgYWdyZWVtZW50IGFjY29tcGFueWluZyB0aGUgQWRvYmUgc29mdHdhcmUuMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9jcmwuYWRvYmUuY29tL2Fkb2JlQ1MuY3JsMB8GA1UdIwQYMBaAFIvu8IFgyaLaHg5SwVgMBLBD94/oMB0GA1UdDgQWBBT9A+kXOPL6N57MN/zovbCGEx2+BTAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBBQUAA4IBAQBVjUalliql3VjpLdT8si7OwPU1wQODllwlgfLH7tI/Ubq5wHDlprGtbf3jZm6tXY1qmh9mz1WnTmQHU3uPk8qgpihrpx4HJTjhAhLP0CXU1rd/t5whwhgT1lYfw77RRG2lZ5BzpHb/XjnY5yc3awd6F3Dli6kTkbcPyOCNoXlW4wiF+jkL+jBImY8xo2EewiJioY/iTYZH5HF+PjHF5mffANiLK/Q43l4f0YF8UagTfAJkD3iQV9lrTOWxKBgpfdyvekGqFCDq9AKzfpllqctxsC29W5bXU0cVYzf6Bj5ALs6tyi7r5fsIPSwszH/i4ixsuD0qccIgTXCwMNbt9zQu
+ MIIEYDCCA0igAwIBAgIER2q5eTANBgkqhkiG9w0BAQUFADCBhDELMAkGA1UEBhMCVVMxIzAhBgNVBAoTGkFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkMRswGQYDVQQLExJEaWdpdGFsIFB1Ymxpc2hpbmcxMzAxBgNVBAMTKkFkb2JlIENvbnRlbnQgU2VydmVyIENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wODAxMDkxODQzNDNaFw0xODAxMzEwODAwMDBaMHwxKzApBgNVBAMTImh0dHA6Ly9hZGVhY3RpdmF0ZS5hZG9iZS5jb20vYWRlcHQxGzAZBgNVBAsTEkRpZ2l0YWwgUHVibGlzaGluZzEjMCEGA1UEChMaQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQxCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZAxpzOZ7N38ZGlQjfMY/lfu4Ta4xK3FRm069VwdqGZIwrfTTRxnLE4A9i1X00BnNk/5z7C0pQX435ylIEQPxIFBKTH+ip5rfDNh/Iu6cIlB0N4I/t7Pac8cIDwbc9HxcGTvXg3BFqPjaGVbmVZmoUtSVOsphdA43sZc6j1iFfOQIDAQABo4IBYzCCAV8wEgYDVR0TAQH/BAgwBgEB/wIBATAUBgNVHSUEDTALBgkqhkiG9y8CAQUwgbIGA1UdIASBqjCBpzCBpAYJKoZIhvcvAQIDMIGWMIGTBggrBgEFBQcCAjCBhhqBg1lvdSBhcmUgbm90IHBlcm1pdHRlZCB0byB1c2UgdGhpcyBMaWNlbnNlIENlcnRpZmljYXRlIGV4Y2VwdCBhcyBwZXJtaXR0ZWQgYnkgdGhlIGxpY2Vuc2UgYWdyZWVtZW50IGFjY29tcGFueWluZyB0aGUgQWRvYmUgc29mdHdhcmUuMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9jcmwuYWRvYmUuY29tL2Fkb2JlQ1MuY3JsMAsGA1UdDwQEAwIBBjAfBgNVHSMEGDAWgBSL7vCBYMmi2h4OUsFYDASwQ/eP6DAdBgNVHQ4EFgQU9RP19K+lzF03he+0T47hCVkPhdAwDQYJKoZIhvcNAQEFBQADggEBAJoqOj+bUa+bDYyOSljs6SVzWH2BN2ylIeZKpTQYEo7jA62tRqW/rBZcNIgCudFvEYa7vH8lHhvQak1s95g+NaNidb5tpgbS8Q7/XTyEGS/4Q2HYWHD/8ydKFROGbMhfxpdJgkgn21mb7dbsfq5AZVGS3M4PP1xrMDYm50+Sip9QIm1RJuSaKivDa/piA5p8/cv6w44YBefLzGUN674Y7WS5u656MjdyJsN/7Oup+12fHGiye5QS5mToujGd6LpU80gfhNxhrphASiEBYQ/BUhWjHkSi0j4WOiGvGpT1Xvntcj0rf6XV6lNrOddOYUL+KdC1uDIe8PUI+naKI+nWgrs=
+
+
+
+urn:uuid:a9e3f6ce-2bf8-4a9d-9264-4cb3677204d9
+dummy@mohmal.in
+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
+
+
+
+ urn:uuid:961532c7-2cb3-460b-8c73-83a2eec90a5c
+ 18wJz7tUeD4LJrQ0vPQONAC2nD0=
+ standalone
+ http://adeactivate.adobe.com/adept
+ urn:uuid:a9e3f6ce-2bf8-4a9d-9264-4cb3677204d9
+ FgmewBwLcQOj6gQVc+22E2emLf4HFJyNvAi/MWkW0rjQg+m2eGVL5MGCrAUJcHnnTcp6jsAfh2WWvb90eipFsy3pGfp3RX2wnTYX5uYuXYHZVToLILVq3Cb5B+3f47DHTQmM0+fIfr/Vyge0YsLdZdQGW1mkHaCchv2uXwwEV0k=
+
+urn:uuid:a9e3f6ce-2bf8-4a9d-9264-4cb3677204d9http://lending6.us.archive.org:8080/fulfillment/Fulfillhttps://nasigningservice.adobe.com/licensesignMIIEvjCCA6agAwIBAgIER2q5ljANBgkqhkiG9w0BAQUFADCBhDELMAkGA1UEBhMCVVMxIzAhBgNVBAoTGkFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkMRswGQYDVQQLExJEaWdpdGFsIFB1Ymxpc2hpbmcxMzAxBgNVBAMTKkFkb2JlIENvbnRlbnQgU2VydmVyIENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wODA4MTExNjMzNDhaFw0xMzA4MTEwNzAwMDBaMIGIMQswCQYDVQQGEwJVUzEjMCEGA1UEChMaQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQxGzAZBgNVBAsTEkRpZ2l0YWwgUHVibGlzaGluZzE3MDUGA1UEAxMuaHR0cHM6Ly9uYXNpZ25pbmdzZXJ2aWNlLmFkb2JlLmNvbS9saWNlbnNlc2lnbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAs9GRZ1f5UTRySgZ2xAL7TaDKQBfdpIS9ei9Orica0N72BB/WE+82G5lfsZ2HdeCFDZG/oz2WPLXovcuUAbFKSIXVLyc7ONOd4sczeXQYPixeAvqzGtsyMArIzaeJcriGVPRnbD/spbuHR0BHhJEakIiDtQLJz+xgVYHlicx2H/kCAwEAAaOCAbQwggGwMAsGA1UdDwQEAwIFoDBYBglghkgBhvprHgEESwxJVGhlIHByaXZhdGUga2V5IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBjZXJ0aWZpY2F0ZSBtYXkgaGF2ZSBiZWVuIGV4cG9ydGVkLjAUBgNVHSUEDTALBgkqhkiG9y8CAQIwgbIGA1UdIASBqjCBpzCBpAYJKoZIhvcvAQIDMIGWMIGTBggrBgEFBQcCAjCBhhqBg1lvdSBhcmUgbm90IHBlcm1pdHRlZCB0byB1c2UgdGhpcyBMaWNlbnNlIENlcnRpZmljYXRlIGV4Y2VwdCBhcyBwZXJtaXR0ZWQgYnkgdGhlIGxpY2Vuc2UgYWdyZWVtZW50IGFjY29tcGFueWluZyB0aGUgQWRvYmUgc29mdHdhcmUuMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9jcmwuYWRvYmUuY29tL2Fkb2JlQ1MuY3JsMB8GA1UdIwQYMBaAFIvu8IFgyaLaHg5SwVgMBLBD94/oMB0GA1UdDgQWBBSQ5K+bvggI6Rbh2u9nPhH8bcYTITAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBBQUAA4IBAQC0l1L+BRCccZdb2d9zQBJ7JHkXWt1x/dUydU9I/na+QPFE5x+fGK4cRwaIfp6fNviGyvtJ6Wnxe6du/wlarC1o26UNpyWpnAltcy47LpVXsmcV5rUlhBx10l4lecuX0nx8/xF8joRz2BvvAusK+kxgKeiAjJg2W20wbJKh0Otct1ZihruQsEtGbZJ1L55xfNhrm6CKAHuGuTDYQ/S6W20dUaDUiNFhA2n2eEySLwUwgOuuhfVUPb8amQQKbF4rOQ2rdjAskEl/0CiavW6Xv0LGihThf6CjEbNSdy+vXQ7K9wFbKsE843DflpuSPfj2Aagtyrv/j1HsBjsf03e0uVu5
+"""
+
+def createDefaultFiles():
+
+ with open(KEYPATH,"wb",) as file1: file1.write(keyContent)
+ with open(FILE_DEVICEKEY,"wb") as file2: file2.write(saltContent)
+ with open(FILE_DEVICEXML,"w",encoding="utf-8") as file3: file3.write(devicexmlContent)
+ with open(FILE_ACTIVATIONXML,"w",encoding="utf-8") as file4: file4.write(activationContent)
\ No newline at end of file
diff --git a/setup/fulfill.py b/setup/fulfill.py
index a2d7a61..82ea3f9 100644
--- a/setup/fulfill.py
+++ b/setup/fulfill.py
@@ -16,10 +16,6 @@ from setup.libadobe import sendHTTPRequest_DL2FILE
from setup.libadobeFulfill import buildRights, fulfill
from setup.libpdf import patch_drm_into_pdf
-FILE_DEVICEKEY = "devicesalt"
-FILE_DEVICEXML = "device.xml"
-FILE_ACTIVATIONXML = "activation.xml"
-
#######################################################################
diff --git a/setup/libadobe.py b/setup/libadobe.py
index c3557c7..05b96ca 100644
--- a/setup/libadobe.py
+++ b/setup/libadobe.py
@@ -40,10 +40,7 @@ from oscrypto.asymmetric import dump_certificate, dump_private_key
VAR_ACS_SERVER_HTTP = "http://adeactivate.adobe.com/adept"
VAR_ACS_SERVER_HTTPS = "https://adeactivate.adobe.com/adept"
-FILE_DEVICEKEY = "devicesalt"
-FILE_DEVICEXML = "device.xml"
-FILE_ACTIVATIONXML = "activation.xml"
-
+from setup.params import FILE_DEVICEKEY, FILE_DEVICEXML, FILE_ACTIVATIONXML
# Lists of different ADE "versions" we know about
VAR_VER_SUPP_CONFIG_NAMES = [ "ADE 1.7.2", "ADE 2.0.1", "ADE 3.0.1", "ADE 4.0.3", "ADE 4.5.10", "ADE 4.5.11" ]
diff --git a/setup/login_account.py b/setup/login_account.py
index dcaa9db..b07dcb5 100644
--- a/setup/login_account.py
+++ b/setup/login_account.py
@@ -12,7 +12,7 @@ from os.path import exists
VAR_MAIL = ""
VAR_PASS = ""
VAR_VER = 1 # None # 1 for ADE2.0.1, 2 for ADE3.0.1
-KEYPATH = "adobekey.der"
+from decrypt.params import KEYPATH
#################################################################
@@ -38,11 +38,10 @@ def loginAndGetKey():
global KEYPATH
# acc files
- if (not exists(FILE_ACTIVATIONXML)) or (not exists(FILE_DEVICEXML)) or (not exists(FILE_DEVICEKEY)):
+ if True:
takeInput()
print("Logging in")
- print()
createDeviceKeyFile()
diff --git a/setup/params.py b/setup/params.py
new file mode 100644
index 0000000..5f03a4d
--- /dev/null
+++ b/setup/params.py
@@ -0,0 +1,3 @@
+FILE_DEVICEKEY = "account/devicesalt"
+FILE_DEVICEXML = "account/device.xml"
+FILE_ACTIVATIONXML = "account/activation.xml"
\ No newline at end of file