diff --git a/pywxdump/db/dbFavorite.py b/pywxdump/db/dbFavorite.py index a248909..a558c28 100644 --- a/pywxdump/db/dbFavorite.py +++ b/pywxdump/db/dbFavorite.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*-# # ------------------------------------------------------------------------------- -# Name: parsingFavorite.py -# Description: +# Name: Favorite.py +# Description: 负责处理wx收藏数据库 # Author: xaoyaoo # Date: 2024/05/18 # ------------------------------------------------------------------------------- diff --git a/pywxdump/db/dbMSG.py b/pywxdump/db/dbMSG.py index 69c2e7e..6b79aab 100644 --- a/pywxdump/db/dbMSG.py +++ b/pywxdump/db/dbMSG.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*-# # ------------------------------------------------------------------------------- -# Name: parsingMSG.py -# Description: +# Name: MSG.py +# Description: 负责处理消息数据库数据 # Author: xaoyaoo # Date: 2024/04/15 # ------------------------------------------------------------------------------- diff --git a/pywxdump/db/dbMedia.py b/pywxdump/db/dbMedia.py index 32a237f..6599f9e 100644 --- a/pywxdump/db/dbMedia.py +++ b/pywxdump/db/dbMedia.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*-# # ------------------------------------------------------------------------------- -# Name: MediaMSG_parsing.py -# Description: +# Name: MediaMSG.py +# Description: 负责处理语音数据库 # Author: xaoyaoo # Date: 2024/04/15 # ------------------------------------------------------------------------------- diff --git a/pywxdump/db/dbMicro.py b/pywxdump/db/dbMicro.py index f1d9ca5..0f14448 100644 --- a/pywxdump/db/dbMicro.py +++ b/pywxdump/db/dbMicro.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*-# # ------------------------------------------------------------------------------- -# Name: parsingMicroMsg.py -# Description: +# Name: MicroMsg.py +# Description: 负责处理联系人数据库 # Author: xaoyaoo # Date: 2024/04/15 # ------------------------------------------------------------------------------- diff --git a/pywxdump/db/dbOpenIMContact.py b/pywxdump/db/dbOpenIMContact.py index a323397..9be5627 100644 --- a/pywxdump/db/dbOpenIMContact.py +++ b/pywxdump/db/dbOpenIMContact.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*-# # ------------------------------------------------------------------------------- -# Name: parsingOpenIMContact.py +# Name: OpenIMContact.py # Description: # Author: xaoyaoo # Date: 2024/04/16 diff --git a/pywxdump/db/dbOpenIMMedia.py b/pywxdump/db/dbOpenIMMedia.py index df30f52..fcc9ac9 100644 --- a/pywxdump/db/dbOpenIMMedia.py +++ b/pywxdump/db/dbOpenIMMedia.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*-# # ------------------------------------------------------------------------------- -# Name: MediaMSG_parsing.py -# Description: +# Name: OpenIMMedia.py +# Description: 负责处理语音数据库 # Author: xaoyaoo # Date: 2024/04/15 # ------------------------------------------------------------------------------- diff --git a/pywxdump/db/dbPublicMsg.py b/pywxdump/db/dbPublicMsg.py index 30b9d23..ca256d8 100644 --- a/pywxdump/db/dbPublicMsg.py +++ b/pywxdump/db/dbPublicMsg.py @@ -1,31 +1,12 @@ # -*- coding: utf-8 -*-# # ------------------------------------------------------------------------------- -# Name: parsingPublicMsg.py -# Description: +# Name: PublicMsg.py +# Description: 负责处理公众号数据库信息 # Author: xaoyaoo # Date: 2024/07/03 # ------------------------------------------------------------------------------- - -# -*- coding: utf-8 -*-# -# ------------------------------------------------------------------------------- -# Name: parsingMSG.py -# Description: -# Author: xaoyaoo -# Date: 2024/04/15 -# ------------------------------------------------------------------------------- -import json -import os -import re -from typing import Union, Tuple - -import pandas as pd - -from .dbbase import DatabaseBase from .dbMSG import MsgHandler -from .utils import get_md5, name2typeid, typeid2name, type_converter, timestamp2str, xml2dict, match_BytesExtra, \ - db_error -import lz4.block -import blackboxprotobuf +from .utils import db_error class PublicMsgHandler(MsgHandler): diff --git a/pywxdump/db/dbSns.py b/pywxdump/db/dbSns.py new file mode 100644 index 0000000..ba82d4c --- /dev/null +++ b/pywxdump/db/dbSns.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*-# +# ------------------------------------------------------------------------------- +# Name: Sns.py +# Description: 负责处理朋友圈相关数据 +# Author: xaoyaoo +# Date: 2024/04/15 +# ------------------------------------------------------------------------------- +from .dbbase import DatabaseBase +from .utils import silk2audio + + +class MediaHandler(DatabaseBase): + _class_name = "MediaMSG" + Media_required_tables = ["Media"] + + def get_audio(self, MsgSvrID, is_play=False, is_wave=False, save_path=None, rate=24000): + if not self.tables_exist("Media"): + return False + + sql = "select Buf from Media where Reserved0=? " + DBdata = self.execute(sql, (MsgSvrID,)) + if not DBdata: + return False + if len(DBdata) == 0: + return False + data = DBdata[0][0] # [1:] + b'\xFF\xFF' + try: + pcm_data = silk2audio(buf_data=data, is_play=is_play, is_wave=is_wave, save_path=save_path, rate=rate) + return pcm_data + except Exception as e: + return False diff --git a/pywxdump/wx_core/utils/__init__.py b/pywxdump/wx_core/utils/__init__.py index 4611de6..bbfea24 100644 --- a/pywxdump/wx_core/utils/__init__.py +++ b/pywxdump/wx_core/utils/__init__.py @@ -12,4 +12,5 @@ from .ctypes_utils import get_process_list, get_memory_maps, get_process_exe_pat from .memory_search import search_memory from ._loger import wx_core_loger -DB_TYPE_CORE = ["MSG", "MediaMSG", "MicroMsg", "OpenIMContact", "OpenIMMedia", "OpenIMMsg", "Favorite", "PublicMsg"] +DB_TYPE_CORE = ["MicroMsg", "MSG", "MediaMSG", "OpenIMContact", "OpenIMMsg", "PublicMsg", "OpenIMMedia", + "Favorite", "Sns"]