From 8c030d76ffc4afc2159a8eccede949a9d8dcee0d Mon Sep 17 00:00:00 2001 From: cllcode <2440893398@qq.com> Date: Sun, 7 Jul 2024 17:00:20 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E7=BC=96=E8=AF=91=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=9A=84=E5=88=A4=E6=96=AD=EF=BC=8C=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E9=83=A8=E5=88=86=E5=8C=85=E5=9C=A8liunx?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E4=B8=AD=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pywxdump/api/api.py | 6 +++++- pywxdump/wx_info/get_bias_addr.py | 5 ++++- pywxdump/wx_info/get_wx_info.py | 18 ++++++++++++++---- pywxdump/wx_info/utils.py | 6 ++++-- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/pywxdump/api/api.py b/pywxdump/api/api.py index df70730..a4edbbe 100644 --- a/pywxdump/api/api.py +++ b/pywxdump/api/api.py @@ -12,7 +12,11 @@ import os import re import time import shutil -import pythoncom +import sys +if sys.platform == "win32": + import pythoncom +else: + pythoncom = None import pywxdump from flask import Flask, request, render_template, g, Blueprint, send_file, make_response, session diff --git a/pywxdump/wx_info/get_bias_addr.py b/pywxdump/wx_info/get_bias_addr.py index 39a5250..e0c77b3 100644 --- a/pywxdump/wx_info/get_bias_addr.py +++ b/pywxdump/wx_info/get_bias_addr.py @@ -15,7 +15,10 @@ import pymem from .utils import get_exe_version, get_exe_bit, verify_key -ReadProcessMemory = ctypes.windll.kernel32.ReadProcessMemory +if sys.platform == "win32": + ReadProcessMemory = ctypes.windll.kernel32.ReadProcessMemory +else: + ReadProcessMemory = None void_p = ctypes.c_void_p diff --git a/pywxdump/wx_info/get_wx_info.py b/pywxdump/wx_info/get_wx_info.py index 9095497..f60f679 100644 --- a/pywxdump/wx_info/get_wx_info.py +++ b/pywxdump/wx_info/get_wx_info.py @@ -9,13 +9,21 @@ import ctypes import json import os import re -import winreg +import sys +if sys.platform == "win32": + import winreg +else: + winreg = None import psutil import pymem from typing import List, Union from .utils import pattern_scan_all, verify_key, get_exe_version, get_exe_bit, info_error -ReadProcessMemory = ctypes.windll.kernel32.ReadProcessMemory +if sys.platform == "win32": + ReadProcessMemory = ctypes.windll.kernel32.ReadProcessMemory +else: + ReadProcessMemory = None + void_p = ctypes.c_void_p @@ -205,8 +213,10 @@ def get_details(process, version_list: dict = None, is_logging: bool = False): "account": "None", "mobile": "None", "name": "None", "mail": "None", "wxid": "None", "key": "None", "filePath": "None"} try: - Handle = ctypes.windll.kernel32.OpenProcess(0x1F0FFF, False, process.pid) - + if sys.platform == "win32": + Handle = ctypes.windll.kernel32.OpenProcess(0x1F0FFF, False, process.pid) + else: + Handle = None bias_list = version_list.get(rd['version'], None) addrLen = get_exe_bit(process.exe()) // 8 diff --git a/pywxdump/wx_info/utils.py b/pywxdump/wx_info/utils.py index d5a1eee..f70b309 100644 --- a/pywxdump/wx_info/utils.py +++ b/pywxdump/wx_info/utils.py @@ -13,8 +13,10 @@ import traceback import pymem import hashlib -from win32com.client import Dispatch - +if sys.platform == "win32": + from win32com.client import Dispatch +else: + Dispatch = None def info_error(func): """