Xor
简单的异或
a = 't~suiFz{aM{aMsMwsakM`wdw`awo'
flag = ''
for i in range(len(a)):
flag+=chr(ord(a[i])^0x12)
print(flag)
print(a[3])
MINE SWEEPER
32位
函数太多检索字符串,看到flag,追踪一下是否有其他加密
没有,所以FSCTF{We1C0m3 t0 rev w0r1d!!!}
[FSCTF 2023]ez_pycxor
py的逆向,可以用uncomple6,也可以用一些网站来逆向
简单的异或
key = 'FUTURESTARS'
ciphertxt = [168,169,185,170,160,157,197,132,226,134,134,145, 255, 242,130,139,234
,140, 180,229, 179, 246,243, 181,183, 182,249,163, 254, 189,246,166]
flag = ''
for i in range(len(ciphertxt)):
# if i %2 == 0:
ciphertxt[i] ^= ord(key[i%11])
for i in range(len(ciphertxt)):
flag +=chr((ciphertxt[i]-i)^168)
print(flag)
[FSCTF 2023]signin
差壳,upx壳
脱壳 upx -d 文件
查看字符串
ctrl+x跟进
将里面的int类型转换为chr类型
发现是将数字替换为 英文
结合给出的FSCTF{1t_15_re4lly_0bv10u5_t0_f1nd},得到flag
[FSCTF 2023]EZRC4
显而易见 rc4
def rc4_decrypt(ciphertext, key):
# 初始化 S-box
S = list(range(256))
j = 0
for i in range(256):
j = (j + S[i] + key[i % len(key)]) % 256
S[i], S[j] = S[j], S[i]
# 初始化变量
i = j = 0
plaintext = []
# 解密过程
for byte in ciphertext:
i = (i + 1) % 256
j = (j + S[i]) % 256
S[i], S[j] = S[j], S[i]
k = S[(S[i] + S[j]) % 256]
plaintext.append(byte ^ k)
return bytes(plaintext)
# 示例用法
encrypted_data = [0xEB,0xD,0x61,0x29,0xBF,0x9B,5,0x22,0xF3,0x32,0x28,0x97,0xE3,0x86,0x4D,0x2D,0x5A,0x2A,0xA3,0x55,0xAA,0xD5,0xB4,0x6C,0x8B,0x51,0xB1] # 替换成你的密文
encryption_key = b'wanyuanshenwande' # 替换成你的密钥
decrypted_data = rc4_decrypt(encrypted_data, encryption_key)
print("Decrypted Data:", decrypted_data.decode('utf-8'))
# Decrypted Data: flag{I_L0VE_gensh1n_Imp4ct}
关于rc4
[FSCTF 2023]ezcode(不理解,第一次遇见)
FSCTF2023-Reverse方向题解WP。学习贴-CSDN博客
看这位大哥,有点难,下次有时间再看