-
Notifications
You must be signed in to change notification settings - Fork 0
/
Algoritmo que descreve um arquivo criptografado usando AES-CTR e salva o resultado em um novo arquivo.
103 lines (79 loc) · 3.47 KB
/
Algoritmo que descreve um arquivo criptografado usando AES-CTR e salva o resultado em um novo arquivo.
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import os
import pyaes
## abrir o arquivo criptografado
file_name = "teste.txt.ransomwaretroll"
file = open(file_name, "rb")
file_data = file.read()
file.close()
## chave para descriptografia
key = b"testeransomwares"
aes = pyaes.AESModeOfOperationCTR(key)
decrypt_data = aes.decrypt(file_data)
## remover o arquivo criptografado
os.remove(file_name)
## criar o arquivo descriptografado
new_file = "teste.txt"
new_file = open(f'{new_file}', "wb")
new_file.write(decrypt_data)
new_file.close()
OUTRA FORMA DE FAZER O CÓDIGO COM TÉCNICAS CLEAN CODE.
import os
import pyaes
def decrypt_file(file_name, key):
# abrir o arquivo criptografado
with open(file_name, "rb") as file:
file_data = file.read()
# chave para descriptografia
aes = pyaes.AESModeOfOperationCTR(key)
decrypt_data = aes.decrypt(file_data)
# remover o arquivo criptografado
os.remove(file_name)
# criar o arquivo descriptografado
new_file_name = file_name.replace(".ransomwaretroll", "")
with open(new_file_name, "wb") as new_file:
new_file.write(decrypt_data)
return new_file_name
file_name = "teste.txt.ransomwaretroll"
key = b"testeransomwares"
new_file_name = decrypt_file(file_name, key)
EXPLICAÇÃO DO CÓDIGO:
Este código em Python parece estar relacionado a operações de descriptografia de um arquivo que foi criptografado usando o modo de operação CTR (Counter) do algoritmo AES (Advanced Encryption Standard). Vou explicar as partes do código:
```python
import os
import pyaes
```
- `os`: Módulo que fornece uma maneira de usar funcionalidades dependentes do sistema operacional, como remoção de arquivos (`os.remove`).
- `pyaes`: Uma biblioteca em Python que implementa o algoritmo AES.
```python
file_name = "teste.txt.ransomwaretroll"
file = open(file_name, "rb")
file_data = file.read()
file.close()
```
- `file_name`: Nome do arquivo criptografado que será descriptografado.
- `file`: Abre o arquivo criptografado em modo de leitura binária (`"rb"`).
- `file_data`: Lê o conteúdo do arquivo criptografado e armazena em `file_data`.
- `file.close()`: Fecha o arquivo após a leitura.
```python
key = b"testeransomwares"
aes = pyaes.AESModeOfOperationCTR(key)
decrypt_data = aes.decrypt(file_data)
```
- `key`: A chave que será usada para descriptografar o arquivo.
- `aes`: Cria uma instância do objeto `AESModeOfOperationCTR` usando a chave fornecida.
- `decrypt_data`: Usa o objeto `aes` para descriptografar os dados lidos do arquivo criptografado.
```python
os.remove(file_name)
```
- `os.remove(file_name)`: Remove o arquivo criptografado após a descriptografia, presumivelmente como uma medida de segurança.
```python
new_file = "teste.txt"
new_file = open(f'{new_file}', "wb")
new_file.write(decrypt_data)
new_file.close()
```
- `new_file`: Nome do arquivo descriptografado que será criado.
- `new_file = open(f'{new_file}', "wb")`: Abre o novo arquivo em modo de escrita binária (`"wb"`).
- `new_file.write(decrypt_data)`: Escreve os dados descriptografados no novo arquivo.
- `new_file.close()`: Fecha o novo arquivo após a escrita.
Em resumo, este código descriptografa um arquivo criptografado usando AES-CTR e salva o resultado em um novo arquivo. É importante observar que o uso de chaves de forma estática no código pode representar um risco de segurança, e este exemplo não segue as melhores práticas de segurança para lidar com criptografia em ambientes reais. O código também remove o arquivo criptografado original após a descriptografia.