mirror of
https://github.com/KnugiHK/WhatsApp-Chat-Exporter.git
synced 2026-04-22 05:54:40 +00:00
Bug fix on incorrectly positioned argument
This commit also made `dry_run` and `keyfile_stream` keyword arguments Affects #130
This commit is contained in:
@@ -442,19 +442,35 @@ def main():
|
|||||||
crypt = Crypt.CRYPT15
|
crypt = Crypt.CRYPT15
|
||||||
if not os.path.isfile(args.key) and all(char in string.hexdigits for char in args.key.replace(" ", "")):
|
if not os.path.isfile(args.key) and all(char in string.hexdigits for char in args.key.replace(" ", "")):
|
||||||
key = bytes.fromhex(args.key.replace(" ", ""))
|
key = bytes.fromhex(args.key.replace(" ", ""))
|
||||||
key_stream = False
|
keyfile_stream = False
|
||||||
else:
|
else:
|
||||||
key = open(args.key, "rb")
|
key = open(args.key, "rb")
|
||||||
key_stream = True
|
keyfile_stream = True
|
||||||
db = open(args.backup, "rb").read()
|
db = open(args.backup, "rb").read()
|
||||||
if args.wab:
|
if args.wab:
|
||||||
wab = open(args.wab, "rb").read()
|
wab = open(args.wab, "rb").read()
|
||||||
error_wa = android_crypt.decrypt_backup(wab, key, contact_db, crypt, args.showkey, DbType.CONTACT, key_stream)
|
error_wa = android_crypt.decrypt_backup(
|
||||||
|
wab,
|
||||||
|
key,
|
||||||
|
contact_db,
|
||||||
|
crypt,
|
||||||
|
args.showkey,
|
||||||
|
DbType.CONTACT,
|
||||||
|
keyfile_stream=keyfile_stream
|
||||||
|
)
|
||||||
if isinstance(key, io.IOBase):
|
if isinstance(key, io.IOBase):
|
||||||
key.seek(0)
|
key.seek(0)
|
||||||
else:
|
else:
|
||||||
error_wa = 0
|
error_wa = 0
|
||||||
error_message = android_crypt.decrypt_backup(db, key, msg_db, crypt, args.showkey, DbType.MESSAGE, key_stream)
|
error_message = android_crypt.decrypt_backup(
|
||||||
|
db,
|
||||||
|
key,
|
||||||
|
msg_db,
|
||||||
|
crypt,
|
||||||
|
args.showkey,
|
||||||
|
DbType.MESSAGE,
|
||||||
|
keyfile_stream=keyfile_stream
|
||||||
|
)
|
||||||
if error_wa != 0:
|
if error_wa != 0:
|
||||||
error = error_wa
|
error = error_wa
|
||||||
elif error_message != 0:
|
elif error_message != 0:
|
||||||
|
|||||||
@@ -86,8 +86,9 @@ def decrypt_backup(
|
|||||||
crypt: Crypt = Crypt.CRYPT14,
|
crypt: Crypt = Crypt.CRYPT14,
|
||||||
show_crypt15: bool = False,
|
show_crypt15: bool = False,
|
||||||
db_type: DbType = DbType.MESSAGE,
|
db_type: DbType = DbType.MESSAGE,
|
||||||
|
*,
|
||||||
dry_run: bool = False,
|
dry_run: bool = False,
|
||||||
key_stream: bool = False
|
keyfile_stream: bool = False
|
||||||
) -> int:
|
) -> int:
|
||||||
"""
|
"""
|
||||||
Decrypt the WhatsApp backup database.
|
Decrypt the WhatsApp backup database.
|
||||||
@@ -152,7 +153,7 @@ def decrypt_backup(
|
|||||||
raise ValueError("The signature of key file and backup file mismatch")
|
raise ValueError("The signature of key file and backup file mismatch")
|
||||||
|
|
||||||
if crypt == Crypt.CRYPT15:
|
if crypt == Crypt.CRYPT15:
|
||||||
if key_stream:
|
if keyfile_stream:
|
||||||
main_key, hex_key = _extract_enc_key(key)
|
main_key, hex_key = _extract_enc_key(key)
|
||||||
else:
|
else:
|
||||||
main_key, hex_key = _derive_main_enc_key(key)
|
main_key, hex_key = _derive_main_enc_key(key)
|
||||||
|
|||||||
Reference in New Issue
Block a user