刷题记录reverse4
BUUCTF
easyre
题如其名,非常简单的一道入门题
拖入exe,无壳,拖入64位IDA,F5反汇编
直接看出flag为flag{this_Is_a_EaSyRe}
reverse1
拖入exe,无壳拖入64位IDA,F5反汇编
一路跟进,来到这个界面
一长串还有些乱,于是shift+F12直接查找字符串
看见关键字符串直接双击跟进调用该处的函数
找到关键函数
跟进Str2
根据if条件句,将o换成0,故得到flag为flag{hell0_w0rld}
reverse2
拖入Exe,无壳拖入64位IDA,F5反汇编
当输入字符串s2和flag一样时才会得到正确的flag
跟进flag
根据if条件,将‘i’和‘r’都换成1
故得到flag为flag{hack1ng_fo1_fun}
内涵的软件
拖入exe,无壳拖入32位IDA,F5反汇编
点进去分析半天,最后发现就是那一长串字符,换个包将DBAPP换成flag即可
最终flag为flag{49d3c93df25caad81232130f3d2ebfad}
xor
拖入exe,无壳拖入64位IDA,F5反汇编
global和flag进行了比较
跟进global,并提取其字符串
写脚本
s=[0x66, 0x0A, 0x6B, 0x0C, 0x77, 0x26, 0x4F, 0x2E, 0x40, 0x11,
0x78, 0x0D, 0x5A, 0x3B, 0x55, 0x11, 0x70, 0x19, 0x46, 0x1F,
0x76, 0x22, 0x4D, 0x23, 0x44, 0x0E, 0x67, 0x06, 0x68, 0x0F,
0x47, 0x32, 0x4F, 0x00]
#print(list1) # 会自动变成十进制
flag=chr(s[0]) # f 第一个‘f’没有被处理,但是也是flag的一部分。
i=1
while True:
if i<len(s):
flag += chr(s[i]^s[i-1]) #从输入的第二位开始,将其与前一位异或
i+=1
else:
break
print(flag)
运行得到flag为flag{QianQiuWanDai_YiTongJiangHu}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 simple blog!