攻防世界RESERVE练习区解析合集(上)

一:game

首先利用下载附件,使用EXEinfo PE查看文件类型 为32位

利用IDA打开,同时Shift+F12

找到flag,双击,利用F5查看伪代码

分析得。在最后的for循环中函数进行了两次异或运算( a^=b等价于a = a^b,其中^是位异或运算如果a、b两个值不相同,则异或结果为1。. 如果a、b两个值相同,异或结果为0),可以分别看做a[i]^b[i] 和a[i]^0x13u。

a=[18,64,98,5,2,4,6,3,6,48,49,65,32,12,48,65,31,78,62,
32,49,32,1,57,96,3,21,9,4,62,3,5,4,1,2,3,44,65,78,32,
16,97,54,16,44,52,32,64,89,45,32,65,15,34,18,16,0]
b=[123,32,18,98,119,108,65,41,124,80,125,38,124,111,74,
49,83,108,94,108,84,6,96,83,44,121,104,110,32,95,117,
101,99,123,127,119,96,48,107,71,92,29,81,107,90,85,64,
12,43,76,86,13,114,1,117,126,0]
flag=''
for i in range(57):
 a[i]^=b[i]
 a[i]^=0x13
 flag+=chr(a[i])
 i+=1
print(flag)

 得到答案zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}

 

 

 

二:open-source

解题思路:

 

   first != 0xcafe代表我们需要输入0xcafe,反之程序就会直接输出"you are wrong, sorry.\n"              所以first = 0xcafe=51966

                                                                “||”逻辑或,特点是两边同时为假则整体为假,不难得出second=25

strcmp函数是用来判断是否相等的    相等strcmp返回0,退出if条件,即argv[3]=“h4cky0u”,strlen()函数用来计算所需数字符串的长度,长度为7.

 

得到答案c0ffee

三:simple-unpack

首先利用下载附件,使用EXEinfo PE查看文件类型 

 

 不难发现文件存在一个upx壳,所以我们接下来去壳我们可以再次检验

利用IDA并找到主函数点击flag或空格

答案一眼所知

四:logmein

首先利用下载附件,使用EXEinfo PE查看文件类型 

利用IDA并找到主函数同时Shift+F12

双击进入该地址,并找寻比对flag相应的函数,进行“X”跟进函数

利用F5查看反代码好像用处不大,我们继续跟进主函数利用F5查看伪代码

我们阅读可知,s就是我们所需要的flag。我们观察两个if语句

第一个if,大于v8的长度错误
第二个if,小于等于错误

双击sub_4007C0,我们可以发现:

 所以第一个if,大于v8的长度错误
        第二个if,小于等于错误

正确的flag即s[i] = (char)(*((_BYTE *)&v7 + i % v6) ^ v8[i])

strcpy函数复制后者至前者

v8=  ":\"AL_RT^L*.?+6/46"

 v7 = 'ebmarah';(反转致字符形式)

 

a = ":\"AL_RT^L*.?+6/46"
b = "harambe"
c = 7
flag = ''

for i in range(0,len(a)):
    flag += chr(ord(b[i%c]) ^ord(a[i]))
print(flag)

利用python反编码

得到答案RC3-2016-XORISGUD 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值