from hashlib import md5
a = open('2287567', 'rb').read()
# for i in range(len(a))
file = open('test.txt', 'a')
for i in range(len(a)):
file.write(md5(a[:-i]).hexdigest() + '192.168.3.201\n')
解压得到加密脚本
from flag import secret
key = "x.x.x.x"
def encrypt_flag(flag, key):
random.seed(key)
table = list(range(0, 38))
random.shuffle(table)
flag = [flag[i] for i in table]
ascii_flag = [ord(c) for c in flag]
random.seed(key)
xor_key = random.randint(0, 255)
encrypted_flag = [c ^ xor_key for c in ascii_flag]
return base64.b64encode(bytes(encrypted_flag)).decode("ascii")
print(encrypt_flag(flag, key))
# VFVWU1kGBgIMUlMBVFcBBgRRBFAHVFBVUFkbUB0DAQMEBVIGAlE=
写个解密脚本
import base64
def decrypt(t):
flag = base64.b64decode(t).decode("ascii")
xor_key = 96
ascii_flag = [ord(c) for c in flag]
encrypted_flag = ''.join([chr(c ^ xor_key) for c in ascii_flag])
table = [25, 28, 7, 24, 5, 0, 33, 21, 1, 31, 29, 2, 18, 27, 19, 13, 22, 9, 30, 10, 3, 11, 35, 15, 20, 16, 4, 23, 37, 36, 17, 32, 6, 34, 8, 26, 14, 12]
a = [i for i in range(38)]
for i in range(38):
a[table[i]] = encrypted_flag[i]
print(''.join(a))
decrypt("VFVWU1kGBgIMUlMBVFcBBgRRBFAHVFBVUFkbUB0DAQMEBVIGAlE=".encode())