跳到主要内容

Crypto - 061

备注

created by || kerszi

⏲️ Release Date // 2024-01-24

💀 Solvers // 5

🧩 Type // crypto

题目给出了:

UEsDBC0AAgAIALySN1jMnd4u//////////8BABQALQEAEAA4BQAAAAAAAHgAAAAAAAAArVPJDcAg
DFvJ3n+58mih5G6KhGQBVi7HAAmMsyEWciAh/ieP877xnnfIeBmfimfW4cZf/2HdL4z7S3hZXlUn
a3Og5v+KW9XXzY/ePGW8sp7s7Ve1Dq+vbG9P6WDse+yH4vwMf7byez5HU192dT3kl89+pdvfzb8A
UEsBAh4DLQACAAgAvJI3WMyd3i54AAAAOAUAAAEAAAAAAAAAAQAAAIARAAAAAC1QSwYGLAAAAAAA
AAAeAy0AAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAALwAAAAAAAACrAAAAAAAAAFBLBgcAAAAA2gAA
AAAAAAABAAAAUEsFBgAAAAABAAEALwAAAKsAAAAAAA==

将其Base64解码,得到一个压缩包文件,解压后得到

0011001000110010001100000011000001110100001100100011001000110001001100100111010000110001001100000011000000110001001100100111010000110001001100010011000100110010001100000111010000110001001100000011000000110000001100010111010000110010001100100011001000110010011101000011001000110010001100000011001001110100001100100011000000110000001100010111010000110001001100000011000100110001001100100111010000110001001100100011000100110001011101000011000100110000001100010011000100110010011101000011001000110010001100000011000001110100001100010011001000110001001100000111010000110010001100100011001000110010011101000011000100110010001100100011000001110100001100010011000000110001001100010011001001110100001100010011000000110000001100100011001001110100001100010011001000110001001100000111010000110001001100000011000000110001001100010111010000110001001100000011000100110001001100100111010000110010001100010011000100110001011101000011000100110001001100000011001000110000011101000011000100110010001100100011000101110100001100100011000100110001001100010111010000110010001100100011000100110000011101000011000100110010001100100011000001110100001100100011000100110001001100100111010000110001001100000011000100110001001100100111010000110001001100100011000100110001011101000011001000110000001100000011000101110100001100010011000100110001001100100011001001110100

二进制解码,得到

2200t2212t10012t11120t10001t2222t2202t2001t10112t1211t10112t2200t1210t2222t1220t10112t10022t1210t10011t10112t2111t11020t1221t2111t2210t1220t2112t10112t1211t2001t11122t

根据t将数据进行分割,可以判断其中的为三进制数据,那么一整条逻辑可以通过Python脚本进行实现

binary_data = "0011001000110010001100000011000001110100001100100011001000110001001100100111010000110001001100000011000000110001001100100111010000110001001100010011000100110010001100000111010000110001001100000011000000110000001100010111010000110010001100100011001000110010011101000011001000110010001100000011001001110100001100100011000000110000001100010111010000110001001100000011000100110001001100100111010000110001001100100011000100110001011101000011000100110000001100010011000100110010011101000011001000110010001100000011000001110100001100010011001000110001001100000111010000110010001100100011001000110010011101000011000100110010001100100011000001110100001100010011000000110001001100010011001001110100001100010011000000110000001100100011001001110100001100010011001000110001001100000111010000110001001100000011000000110001001100010111010000110001001100000011000100110001001100100111010000110010001100010011000100110001011101000011000100110001001100000011001000110000011101000011000100110010001100100011000101110100001100100011000100110001001100010111010000110010001100100011000100110000011101000011000100110010001100100011000001110100001100100011000100110001001100100111010000110001001100000011000100110001001100100111010000110001001100100011000100110001011101000011001000110000001100000011000101110100001100010011000100110001001100100011001001110100"

bytes_list = [binary_data[i : i + 8] for i in range(0, len(binary_data), 8)]

encoded_text = "".join([chr(int(byte, 2)) for byte in bytes_list]).split("t")[:-1]

res = "".join([chr(int(i, 3)) for i in encoded_text])

print(res)

# HMV{RPJ7_1_H0P3_Y0U_Cr4CK3D_17}