From 78330e165544a0512a7d2d3f412b4a43b38014a7 Mon Sep 17 00:00:00 2001 From: xaoyo Date: Fri, 6 Oct 2023 10:47:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8=E8=A7=A3?= =?UTF-8?q?=E5=AF=86=E6=95=B0=E6=8D=AE=E5=BA=93=E7=9A=84=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E8=A1=8C=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- decrypted/get_wx_decrypted_db.py | 22 ++++++++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f2a2518..14db20f 100644 --- a/README.md +++ b/README.md @@ -161,10 +161,10 @@ git clone https://github.com/xaoyaoo/PyWxDump.git python decrypt.py --key ******** --db_path ./decrypted/decrypted.db --out_path ./decrypted/decrypted.db ``` -自动读取本地微信聊天记录文件夹,解密后保存到当前目录下的decrypted文件夹中 +自动根据注册表读取本地微信聊天记录文件夹,解密后保存到当前目录下的decrypted文件夹中 ```shell -python get_wx_decrypted_db.py +python get_wx_decrypted_db.py --key ******** ``` ## 四、支持功能 diff --git a/decrypted/get_wx_decrypted_db.py b/decrypted/get_wx_decrypted_db.py index d8c95f0..082ea32 100644 --- a/decrypted/get_wx_decrypted_db.py +++ b/decrypted/get_wx_decrypted_db.py @@ -5,6 +5,7 @@ # Author: xaoyaoo # Date: 2023/08/25 # ------------------------------------------------------------------------------- +import argparse import os import re import shutil @@ -247,12 +248,14 @@ def merge_media_msg_db(db_path: list, save_path: str): return save_path -def main(keys: list = None): +def main(keys=None): decrypted_ROOT = os.path.join(os.getcwd(), "decrypted") if keys is None: print("keys is None") return False + if isinstance(keys, str): + keys = [keys] user_dirs = get_wechat_db() for user, db_path in user_dirs.items(): # 遍历用户 @@ -289,8 +292,23 @@ def main(keys: list = None): merge_copy_msg_db(EmotionDecryptPaths, EmmotionDbPath) shutil.rmtree(decrypted_path_tmp) # 删除临时文件 + print(f"解密完成:{user}, {decrypted_path}") return True if __name__ == '__main__': - main() + # 创建命令行参数解析器 + parser = argparse.ArgumentParser() + parser.add_argument("-k", "--key", help="解密密钥", nargs="+", required=True) + + # 解析命令行参数 + args = parser.parse_args() + + # 检查是否缺少必要参数,并抛出错误 + if not args.key: + raise ValueError("缺少必要的命令行参数!请提供密钥。") + + # 从命令行参数获取值 + keys = args.key + + main(keys)