下载出来后先die查一下
可以看到是64位没加壳的可执行文件,直接拖进ida查看
然后好像直接看到了flag是flag{this_Is_a_EaSyRe},提交通过
这道题也是一样,拖进去就看到了个疑似flag的东西{hello_world},接下来去提交,发现是错误的。
然后直接进入主函数
看到关键代码,猜测是把{hello_world}转换成ASSIC码,然后把111替换成48,接下来直接写脚本
flag="{hello_world}"
flag1=[]
for i in flag:
if ord(i)==111:
flag1.append("48")
else:
flag1.append(str(ord(i)))
print(flag1)
for i in flag1:
print(chr(int(i)),end="")
得到结果 {hell0_w0rld}
提交正确
64位Linux文件,拖入ida
将输入的s2与flag进行比较,所以接下来直接看变量flag经历了什么运算,去看字符串看flag运算前是什么,可以看到是
{hacking_for_fun}}
for ( i = 0; i <= strlen(&flag); ++i )
{
if ( *(&flag + i) == 105 || *(&flag + i) == 114 )
*(&flag + i) = 49;
}
上面是运算代码,直接写脚本
flag='flag{hacking_for_fun}'
flag1=[]
for i in flag:
if ord(i)==105 or ord(i)==114:
flag1.append('49')
else:
flag1.append(str(ord(i)))
print(flag1)
for i in flag1:
print(chr(int(i)),end="")
#print("\n",len("flag{1ack1ng_for_fun}"))
flag为flag{hack1ng_fo1_fun}
下载出来运行一下
拖进去就看到了疑似flag的
DBAPP{49d3c93df25caad81232130f3d2ebfad}
包上flag{}提交试试,报错,然后再看代码,没发现有问题,于是删掉了DBAPP,提交正确
32位加了upx壳
脱壳后拖进ida
可以看出flag为
flag{HappyNewYear!}
这个没啥说的,直接写脚本
flag=[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]
flag1=[102,]
for i in range(1,33):
flag1.append(str(flag[i]^flag[i-1]))
for i in flag1:
print(chr(int(i)),end="")
得到flag为flag{QianQiuWanDai_YiTongJiangHu}
第七题helloword是个安卓题,直接模拟器安装打开
打开并没啥,直接反编译
直接看到了flag
flag{7631a988259a00816deda84afb29430a}