diff --git a/.idea/misc.xml b/.idea/misc.xml index 01702b5..4bba91c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 5ff7d01..c305067 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # python 3.13 # 12.03.2025 -pywin32==309 -ormsgpack==1.8.0 -pycryptodome==3.21.0 \ No newline at end of file +pywin32~=309 +ormsgpack~=1.8.0 +pycryptodome~=3.21.0 \ No newline at end of file diff --git a/winConnect/WinConnectBase.py b/winConnect/WinConnectBase.py index e3f1614..cd4d9fe 100644 --- a/winConnect/WinConnectBase.py +++ b/winConnect/WinConnectBase.py @@ -1,5 +1,5 @@ import hashlib -import json +import orjson import logging import struct import threading @@ -274,7 +274,7 @@ class WinConnectBase: _blank_settings['header_format'] = self._header_format _blank_settings['max_buffer'] = self.read_max_buffer _blank_settings['crypto'] = self.__crypto.crypt_name - session_settings = f"set_session_settings:{len(self.__crypto.crypt_salt)}:{json.dumps(_blank_settings)}".encode(self.encoding) + self.__crypto.crypt_salt + session_settings = f"set_session_settings:{len(self.__crypto.crypt_salt)}:".encode(self.encoding) + orjson.dumps(_blank_settings) + self.__crypto.crypt_salt self._send_message("cmd", session_settings) return True case b'set_session_settings': @@ -291,8 +291,8 @@ class WinConnectBase: self.__crypto.set_salt(salt) try: - settings = json.loads(data.decode(self.init_encoding)) - except json.JSONDecodeError as e: + settings = orjson.loads(data.decode(self.init_encoding)) + except orjson.JSONDecodeError as e: self._send_error(WinConnectErrors.BAD_DATA, f"JSONDecodeError: {e}") return self.close() diff --git a/winConnect/WinConnectDaemon.py b/winConnect/WinConnectDaemon.py index c974a74..d959956 100644 --- a/winConnect/WinConnectDaemon.py +++ b/winConnect/WinConnectDaemon.py @@ -1,7 +1,6 @@ import win32pipe from .WinConnectBase import WinConnectBase -from .crypto import WinConnectCrypto class WinConnectDaemon(WinConnectBase): diff --git a/winConnect/crypto/crypto_classes.py b/winConnect/crypto/crypto_classes.py index 6b552f5..6788f52 100644 --- a/winConnect/crypto/crypto_classes.py +++ b/winConnect/crypto/crypto_classes.py @@ -1,9 +1,8 @@ import os import random -from pathlib import Path -from .crypto_class_base import WinConnectCryptoBase from winConnect.exceptions import WinConnectCryptoSimpleBadHeaderException +from .crypto_class_base import WinConnectCryptoBase _pip_crypto = True try: