H&NCTF 部分ReWP

一.最喜欢的逆向题

拿到附件,先查壳,没有壳,64bit的

那么直接丢到ida里分析,分析结束找到main函数,直接得到伪代码

然后点到sub_140001070函数里看看,一堆flag,不知道哪个正确,那就按照要求输入吧

拿到flag

二.DO YOU KNOW SWDD?

拿到附件,解压缩,先跑一下看看回显,没什么,就是让我们输入flag,然后判断正确,查壳,没有壳,

直接丢到ida32里分析,分析结束,找到main函数,顺利得到伪代码,

然后进入sub_411186函数查看具体加密内容,可是却是爆红的, Tab键查看汇编,

一堆数据,SMC?,我们再看sub_41127B函数,顺着找,可以看到有一个异或,

现在确定了,就是SMC,那就动态调试跑一下,断点直接下在sub_411186函数处,

然后F7步入,就可以看到汇编函数了,按P申明为函数,

很明显,凯撒加密,写个脚本跑一下就出来了,

enc = "S_VYFO_CGNN_GRKD_KLYED_IYE"
dec = ""
for i in range(len(enc)):
    if 'A' <= enc[i] <= 'Z':
        for j in range(65, 90):
            if ((j - 65 + 10) % 26) + 65 == ord(enc[i]):
                dec += chr(j)
    else:
        dec += enc[i]
print(dec)

H&NCTF{I_LOVE_SWDD_WHAT_ABOUT_YOU}

三.hnwanna

下载好附件,这是一个游戏题,先打开玩了一下,

根本不可能跳过去,老实分析吧,在i_wanna_Data\Managed,找到Assembly-CSharp.dll,然后用ILSpy 打开,

找到一个a函数,凯撒加密,然后有找到加密字符串,

跑一下就出来了。

a = "justaeasyunitygame"
b = ""
for char in a:
    b += chr((((ord(char) - 97) + 5) % 26) + 97)
print(b)

H&NCTF{ozxyfjfxdzsnydlfrj}

四.childmaze

下载好附件,根据题目,很显然这是一个迷宫题,题目提示也说了,说小心撞墙。(可正是因为这些提示,来错误的引导我们进入错误的方向)然后照旧先用exeinfope查壳,

可以看到没有壳。然后我们可以先跑一下,

跑下来呢,出现几个一样的迷宫,并且如果你按数字1,2,3...的话,会出现相应个数个的迷宫,然后就随便输入一些字符,就提示你撞墙了。然后就丢到ida里分析吧,分析结束,顺利找到main函数,得到伪代码,可是一看,几千行,什么鬼,然后也通过查找字符串,想找到最后做判断的地方,找是找到了,可是很离谱,没什么用,试了这些东西后,又想起来既然给了迷宫,那么我们是不是可以通过直接走迷宫的方式来试一试呢,然后就开始了尝试,可是发现,这压根走不通,所谓的asdw,不是一步一步的走,按一次走两步,根本不可能走的到$,就说明这题似乎和迷宫无关了。还是得返回到伪代码中去找,终于,找到了一个非常可疑的字符串,

然后再去找哪里处理了这个字符串,

果不其然,这里有个异或操作,然后写个脚本一跑,就是flag了,

enc = "H'L@PC}Ci625`hG2]3bZK4{1~"
dec = ""
for i in range(len(enc)):
    dec += chr(ord(enc[i]) ^ (i % 7))
print(dec)

H&NCTF{Ch411enG3_0f_M4z3}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值