From bc69400b2c13528710d1edc055dfa7be23380407 Mon Sep 17 00:00:00 2001 From: xaoyaoo Date: Thu, 28 Dec 2023 09:07:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=BC=E5=87=BA=E4=B8=BAcs?= =?UTF-8?q?v=E5=91=BD=E4=BB=A4=E3=80=90=E6=B5=8B=E8=AF=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pywxdump/__init__.py | 1 + pywxdump/analyzer/__init__.py | 1 + pywxdump/cli.py | 14 ++++++++++++++ 3 files changed, 16 insertions(+) diff --git a/pywxdump/__init__.py b/pywxdump/__init__.py index f98e849..32213fb 100644 --- a/pywxdump/__init__.py +++ b/pywxdump/__init__.py @@ -9,6 +9,7 @@ from .wx_info import BiasAddr, read_info, get_wechat_db, encrypt, batch_decrypt, from .wx_info import merge_copy_db, merge_msg_db, merge_media_msg_db, merge_db from .analyzer.db_parsing import read_img_dat, read_emoji, decompress_CompressContent, read_audio_buf, read_audio, \ parse_xml_string, read_BytesExtra +from .analyzer import export_csv from .ui import app_show_chat, get_user_list, export import os, json diff --git a/pywxdump/analyzer/__init__.py b/pywxdump/analyzer/__init__.py index cf93712..c79f6fe 100644 --- a/pywxdump/analyzer/__init__.py +++ b/pywxdump/analyzer/__init__.py @@ -6,3 +6,4 @@ # Date: 2023/09/27 # ------------------------------------------------------------------------------- from .db_parsing import read_img_dat, read_emoji, decompress_CompressContent, read_audio_buf, read_audio, parse_xml_string,read_BytesExtra +from .export_chat import export_csv diff --git a/pywxdump/cli.py b/pywxdump/cli.py index 6858690..210add4 100644 --- a/pywxdump/cli.py +++ b/pywxdump/cli.py @@ -245,10 +245,24 @@ class MainExportChatRecords(): sb_decrypt.add_argument("-fs", "--filestorage_path", type=str, help="(可选)文件夹FileStorage的路径(用于显示图片)", required=False, metavar="") + sb_decrypt.add_argument("-t", "--type", type=str, help="导出类型(可选:html,txt)", required=False, + default="html", + metavar="") return sb_decrypt def run(self, args): # 从命令行参数获取值 + t = args.type + if t not in ["html", "txt"]: + print("[-] 未知的导出类型") + return + if t == "txt": + try: + export_csv(args.username, args.outpath, args.msg_path, page_size=1000000) + except Exception as e: + print(e) + print("[-] 导出失败") + return try: from flask import Flask, request, jsonify, render_template, g import logging