春秋杯 snack入土为安的第二天

简介: 春秋杯 snack入土为安的第二天

不嘻嘻,签到题做了两天,先用pyinstxtractor.py(找最新版本。。红温)把exe转化为pyc,用在线反编译pycdc来反编译,最后的key在一个文件夹里key.pyc切记用python3.3版本(红温)。

# 假设已经有了正确的密钥key_bytes
key_bytes = b'V3rY_v3Ry_Ez'  # 这里需要填入正确的密钥
# 游戏初始化和解密函数(根据提供的代码片段)
def initialize(key):
    key_length = len(key)
    S = list(range(256))
    j = 0
    for i in range(256):
        j = (j + S[i] + key[i % key_length]) % 256
        S[i], S[j] = S[j], S[i]
    return S
def generate_key_stream(S, length):
    i = j = 0
    key_stream = []
    for _ in range(length):
        i = (i + 1) % 256
        j = (j + S[i]) % 256
        S[i], S[j] = S[j], S[i]
        key_stream.append(S[(S[i] + S[j]) % 256])
    return key_stream
def decrypt(data, key):
    S = initialize(key)
    key_stream = generate_key_stream(S, len(data))
    decrypted_data = bytes([i ^ data[i] ^ key_stream[i] for i in range(len(data))])
    return decrypted_data
# 要解密的数据
data = (101, 97, 39, 125, 218, 172, 205, 3, 235, 195, 72, 125, 89, 130, 103, 213, 120, 227, 193, 67, 174, 71, 162, 248, 244, 12, 238, 92, 160, 203, 185, 155)
# 使用密钥解密数据
decrypted_data = decrypt(bytes(data), key_bytes)
# 打印解密后的数据
print('Decrypted flag:', decrypted_data.decode())


丸卜
+关注
目录
打赏
0
0
0
0
0
分享
相关文章
|
11月前
[SWPUCTF 2023 秋季新生赛]字节码
[SWPUCTF 2023 秋季新生赛]字节码
96 0
|
11月前
[SWPUCTF 2022 新生赛]base64
[SWPUCTF 2022 新生赛]base64
145 0
|
11月前
[GHCTF 2024 新生赛]UP+——入土为安的第一天
[GHCTF 2024 新生赛]UP+——入土为安的第一天
179 0
|
11月前
|
[SWPUCTF 2021 新生赛]gift_pwn-入土为安的第十五天
[SWPUCTF 2021 新生赛]gift_pwn-入土为安的第十五天
278 0
[SWPUCTF 2021 新生赛]原来你也玩原神
[SWPUCTF 2021 新生赛]原来你也玩原神
275 0
|
11月前
|
[MoeCTF 2022]babyfmt-入土为安的第十九天
[MoeCTF 2022]babyfmt-入土为安的第十九天
111 0
|
11月前
[NSSRound#3 Team]jump_by_jump_revenge[花指令]
[NSSRound#3 Team]jump_by_jump_revenge[花指令]
115 0
|
11月前
|
[NISACTF 2022]ezstack-入土为安的第十四天
[NISACTF 2022]ezstack-入土为安的第十四天
118 0
|
11月前
|
notsequence 入土为安的第七天
notsequence 入土为安的第七天
61 1
[LitCTF 2024]ezrc4——入土为安的第一天
[LitCTF 2024]ezrc4——入土为安的第一天
99 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问