BUUCTF RE wp

easyre

F5一下出

直接打开的话,结束之后自动闪退,所以要用cmd

flag:flag{this_Is_a_EaSyRe}

reverse1

shift+F12,然后Ctrl+F搜索关键词flag

双击进入,ctrl+x查看交叉引用

然后点击F5查看源码

得到这一段内容,选中数字单击 r 可以转化为ascll码对应的字母

可以知道,for循环把str2的 o 替换为 0

双击 str2 进入,可以看到str2的数值

那么flag就是替换之后的

flag:flag{hell0_w0rld}

reverse2

IDA打开,一键F5

发现是把i和r替换为1

双击flag查看内容

发现有一段是hacking_for_fun},替换即可得到flag

flag:flag{hack1ng_fo1_fun}

内涵的软件

拖进查壳软件

发现是32位文件,拖进IDA32

shift+F12即可看到flag

flag:flag{49d3c93df25caad81232130f3d2ebfad}

新年快乐

发现是32位程序

用IDA打开发现有壳

拖进FFI工具中自动去壳

然后拖进IDA,F5发现flag

flag:flag{HappyNewYear!}

xor

32位

拖进IDA,F5

可以发现flag是异或得到的

双击global,shift+E获得aFKWOXZUPFVMDGH的值

保存到十进制,编写脚本即可获得flag

1
2
3
4
5
6
7
8
9
10
11
12
13
l = [
102, 10, 107, 12, 119, 38, 79, 46, 64, 17,
120, 13, 90, 59, 85, 17, 112, 25, 70, 31,
118, 34, 77, 35, 68, 14, 103, 6, 104, 15,
71, 50, 79, 0
]

flag = ""
flag += chr(l[0])
for i in range(1,len(l)):
flag += chr(l[i]^l[i-1])

print( flag )

flag:flag{QianQiuWanDai_YiTongJiangHu}

reverse3

查壳发现没壳,32位,打开

shift+F12看到flag

双击,然后ctrl+x查看交叉引用,然后F5一下,得到以下页面

进入sub_4110BE函数,发现是base64加密

后面还有一个简单的位移运算

密文变量是 Str2,shift+E保存

编写脚本得到flag

1
2
3
4
5
6
7
8
9
10
11
12
import base64

s = [
101, 51, 110, 105, 102, 73, 72, 57, 98, 95,
67, 64, 110, 64, 100, 72
]
flag = ""
for i in range(len(s)):
flag += chr(s[i]-i)

print( flag )
print( base64.b64decode(flag) )

flag:flag{i_l0ve_you}