[GHCTF 2024 新生赛]UP+——入土为安的第一天

注意:这道题需要脱壳,而且需要改特征值,详细请看

[LitCTF 2024]hello_upx------入土为安的第一天-CSDN博客

脱完壳发现有256这个特殊的数,是rc4类型的题,最后有一个异或

a = "9F041CEFA92386B6F56F27B96155FD42"

aa = "5E4C614B08306D1502BC6854D68716D4"

Splitting strings into pairs of hexadecimal characters

b = [a[i:i+2] for i in range(0,len(a),2)]

c = b[::-1]

d1 = ''.join(c)

b = [aa[i:i+2] for i in range(0,len(aa),2)]

c = b[::-1]

d2 = ''.join(c)

print(d1)

print(d2)

Concatenating d1 and d2

encode = d1 + d2

print(encode)

Converting concatenated string to list of integers

ddd = [int(encode[i:i+2],16) for i in range(0,len(encode),2)]

Initialize flag list

flag = []

Initializing variables

v22 = [0]*256

v20 = [0]*256

key = [ord(i) for i in "justfortest"]

print(key)

Initialization of S-box v22 and v20

for i in range(256):

v22[i] = i

v20[i] = key[i % len(key)]

v5 = 0

for i in range(256):

v8 = v22[i]

v5 = (v8 + v20[i] + v5) % 256

v22[i], v22[v5] = v22[v5], v22[i]

v9 = 0

v10 = 0

Encryption process

for i in range(len(ddd)):

v10 = (v10 + 1) % 256

v11 = v22[v10]

v9 = (v11 + v9) % 256

v22[v10], v22[v9] = v22[v9], v22[v10] # Swap

flag.append(ddd[i] ^ v22[(v22[v10] + v22[v9]) % 256])

Printing encrypted flag in hexadecimal

hex_flag = [hex(f) for f in flag]

print(hex_flag)

Attempting to decode encrypted flag to string (handle UnicodeDecodeError)

try:

decrypted_text = ''.join(chr(f) for f in flag)

print("Decrypted text:", decrypted_text)

except UnicodeDecodeError:

print("Decryption result contains non-printable characters.")

Printing encrypted flag as ASCII characters (for demonstration, may cause errors)

for i in range(len(flag)):

try:

print(chr(flag[i]), end='')

except ValueError:

print("[Non-printable]", end='')

相关推荐
Bruce_Liuxiaowei1 小时前
常见高危端口风险分析与防护指南
网络·网络安全·端口·信息搜集
2501_916013742 小时前
iOS 多线程导致接口乱序?抓包还原 + 请求调度优化实战
websocket·网络协议·tcp/ip·http·网络安全·https·udp
头发那是一根不剩了3 小时前
双因子认证(2FA)是什么?从零设计一个安全的双因子登录接口
网络安全·系统设计·身份认证
浩浩测试一下5 小时前
渗透信息收集- Web应用漏洞与指纹信息收集以及情报收集
android·前端·安全·web安全·网络安全·安全架构
Gappsong8747 小时前
【Linux学习】Linux安装并配置Redis
java·linux·运维·网络安全
Johny_Zhao9 小时前
Docker 一键安装部署 JumpServer 堡垒机
linux·网络安全·信息安全·云计算·shell·jumpserver·ldap·yum源·系统运维
unable code11 小时前
攻防世界-Rerverse-game
网络安全·ctf·reverse
一只栖枝16 小时前
网络安全 vs 信息安全的本质解析:数据盾牌与网络防线的辩证关系关系
网络·网络安全·信息安全·it·信息安全认证
安全系统学习16 小时前
【网络安全】Mysql注入中锁机制
安全·web安全·网络安全·渗透测试·xss
怦然星动_19 小时前
DHCP中继及动态分配
网络安全