前言
只能说这比赛平台**,题目**简单记录一下,毕竟自己也做了好久
一、AI黑白棋
打开程序是下黑白棋,要战胜AI才能获得flag。
利用ollydebug打开,找到跳入,单步步入真正的程序,然后中文搜索得到flag。
二、我是一个贝斯手
利用IDA打开能够很清楚的看明白逻辑,encode函数和judgement函数都是注明了的。Base加密自定义table。
Exp:
#!/usr/bin/env python
#_*_coding:utf-8_*_
import base64
import string
base64_enc_table=string.ascii_uppercase+string.ascii_lowercase+"0123456789"+"\\"+"+"
base64_enc="Nseky2SjMiUq9tf/BEIlaJxAwPT07V+pWX6LFgG3ZmOHK4Y8uQhRz1oDc5nCrdvb"
v7 = 'X4DPXQGP'
v8 = 'uWRtcMSt'
v9 = 'RyotcBR9'
v10 = 'FJk9uBot'
v11 = 'cWlP5alP'
v12 = 'RFRt1MRt'
v13 = '=z3w'
flag_enc=v7[::-1]+v8[::-1]+v9[::-1]+v10[::-1]+v11[::-1]+v12[::-1]+v13[::-1]
print flag_enc
base_flag=""
for i in flag_enc:
if i=="=":
base_flag+=i
else:
print i
base_flag+=base64_enc_table[base64_enc.index(i)]
print base64.b64decode(base_flag)
三、Easycpp1
ida打开之后发现异或,但是根据题目提示do you find it继续往下看,发现if判断后的执行。对k进行爆破
Exp:key_word = "STUVWXYZ{}abcdefghijklmnopqrstuvwxyz_!ABCDEFGHIJKLMNOPQR"
key_list = [0x1f, 0x3a, 0x1d, 0x07, 0x1c, 0x14, 0x0d, 0x10, 0x08, 0x3d, 0x10,0x0a, 0x23, 0x0d, 0x10, 0x37, 0x0a