惯例吐槽没有pwn,试试Reverse
1. whereisflag
elf文件,无壳,直接用ida打开,检索字符串看到whereisflag,双击跟进找到关键函数
拼接一下字符串得到flag
CnHongKe{849bc02af213b4d}
2. Reverse1
- 运行一下程序,知道大概的情况
- 32位程序,存在upx壳
- upx脱壳后用ida打开,根据运行时候看到的字符串,找到关键函数
ida反编译的伪代码有些地方读不懂,直接动调分析函数
这道题的逻辑就是:输入长度为11的字符串,逆序后每一位的ascii+7,然后跟v7字符串进行异或操作,得到新的字符串后在每一位字符的ascii-1在逆序得到off_409030里的值
exp:
a=[0x1E, 0x5D, 0x53, 0x77, 0x5E, 0x50, 0x0E, 0x57, 0x7C, 0x47, 0x07]
#print(a)
str1="%+$-4-8+7=?"
xors=[37 ,43 ,36 ,45 ,52 ,45 ,56 ,43 ,55 ,61 ,63] #str1的ascii码
b=[0,0,0,0,0,0,0,0,0,0,0]
for i in range(11):
a[i]=a[i]+1
#print(a)
for i in range(11):
b[i]=a[i]^xors[i]
#print(b)
for i in range(11):
b[i]=b[i]-7
#print(b)
b.reverse()
print(b)
for i in range(11):
print(chr(b[i]),end="")
#运行结果:0nCl0udNin3
CnHongKe{0nCl0udNin3}