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

简介: [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='')

目录
相关文章
|
29天前
|
定位技术
[HUBUCTF 2022 新生赛]help——入土为安的第一天
[HUBUCTF 2022 新生赛]help——入土为安的第一天
22 0
|
29天前
|
Python
春秋杯 snack入土为安的第二天
春秋杯 snack入土为安的第二天
19 0
|
10月前
|
设计模式 算法 网络协议
【软考备战·五月模考】希赛网五月模考软件设计师上午题
瀑布模型 中各个活动按 线性顺序 连接,它规定了 由前至后、相互衔接的固定次序,如同瀑布流水逐级下落,所以其 前一个阶段工作的结果是后一个阶段工作的输入。
52 0
|
供应链 前端开发 物联网
面试周连续剧之尘埃落定
通过前面五天的辛勤付出,最终换来了收获的回报,拿到的offer数量还是比较喜人的,虽然自己也不是什么技术大咖,水平也是平平,但是得到了老天的眷顾,让我在找工作的时候没有遇到太多的砍,总体上还是比较顺风顺水的。本文就来分享一下自己如何选择拿到的这些offer,以及最终做出最后的选择的原因。
194 1
面试周连续剧之尘埃落定
|
前端开发 程序员
面试周连续剧之轻车熟路
接着上一篇文章继续聊面试经历,通过前两天的面试经历,以及不断总结完善自己的知识储备,又系统性的准备了一下前端面试知识点,应对一般的面试已经不成问题,可以说自己已经有了“反客为主”的能力,那么马上开启让人愉悦的面试第三天吧。
103 1
面试周连续剧之轻车熟路
|
移动开发 前端开发 小程序
面试周连续剧之首战大捷
2022年注定是一个不平凡的一年,因为有着难得一遇的对称日:20220222,即2022年2月22日,农历的正月廿二,也是星期二,总之是一个不平凡的一年。即然不平凡,那就得搞事情,然后就果断的选择找工作,顺便沾沾不平凡之年的运气。
91 1
面试周连续剧之首战大捷
|
机器人 智能硬件
小伙入职某互联网大厂的第一天(3)
上回讲到其他不怎么懂技术的同事能够在限定时间内完成很多与技术代码相关的应用搭建任务,而小明连一个小小的任务都完成不了,对此小明百思不得其解。
小伙入职某互联网大厂的第一天(3)
小伙入职某互联网大厂的第一天(2)
上集讲到小明收到领导的留言:“有个紧急的事情需要你处理,马上来一趟我办公室!”小明赶忙跑向了领导办公室...
小伙入职某互联网大厂的第一天(2)
|
SQL Oracle 关系型数据库
数据技术嘉年华归来第一天
今天去参加数据技术嘉年华,早些年这个大会是叫Oracle技术嘉年华,我猜后来融入了MySQL的方向,融入了云,叫做数据技术嘉年华,简单来说是把“库”字去掉了,这是大会的方向也是亮点吧。
1703 0