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 c305067..7d407d5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,6 @@
# 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
+orjson==3.10.15
+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: