mirror of
https://github.com/LC044/WeChatMsg
synced 2025-04-18 09:38:04 +08:00
61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
@Time : 2025/1/10 2:34
|
|
@Author : SiYuan
|
|
@Email : 863909694@qq.com
|
|
@File : wxManager-__init__.py.py
|
|
@Description :
|
|
"""
|
|
from typing import List
|
|
|
|
import psutil
|
|
|
|
from wxManager.decrypt.wx_info_v3 import dump_wechat_info_v3
|
|
from wxManager.decrypt.wx_info_v4 import dump_wechat_info_v4
|
|
from wxManager.decrypt.common import WeChatInfo
|
|
|
|
|
|
def get_info_v4() -> List[WeChatInfo]:
|
|
result_v4 = []
|
|
for process in psutil.process_iter(['name', 'exe', 'pid']):
|
|
if process.name() == 'Weixin.exe':
|
|
wechat_base_address = 0
|
|
for module in process.memory_maps(grouped=False):
|
|
if module.path and 'Weixin.dll' in module.path:
|
|
wechat_base_address = int(module.addr, 16)
|
|
break
|
|
if wechat_base_address == 0:
|
|
continue
|
|
pid = process.pid
|
|
wxinfo = dump_wechat_info_v4(pid)
|
|
result_v4.append(
|
|
wxinfo
|
|
)
|
|
return result_v4
|
|
|
|
|
|
def get_info_v3(version_list) -> List[WeChatInfo]:
|
|
result = []
|
|
for process in psutil.process_iter(['name', 'exe', 'pid']):
|
|
if process.name() == 'WeChat.exe':
|
|
pid = process.pid
|
|
wxinfo = dump_wechat_info_v3(version_list, pid)
|
|
result.append(
|
|
wxinfo
|
|
)
|
|
return result
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import json
|
|
|
|
file_path = r'E:\Project\Python\MemoTrace\resources\data\version_list.json'
|
|
with open(file_path, "r", encoding="utf-8") as f:
|
|
version_list = json.loads(f.read())
|
|
|
|
r_4 = get_info_v4()
|
|
r_3 = get_info_v3(version_list)
|
|
for wx_info in r_4+r_3:
|
|
print(wx_info) |