[RE]攻防世界--新手区(全部结束)

哔哔两句:不是没做题,实在是最近事情太多,有点忙,,做了也就存到电脑上了,趁现在安装vs,闲着也是闲着,更新一波。

6.攻防世界--新手区--simple-unpack

前面的话:这个题是个shabi题,明明说elf加壳了,ida还能打开(我后来看了看别人的wp,发现是有壳的,我是先改成exe,然后脱壳机脱,脱了之后查壳还是有壳,但是这时候ida打开就已经脱成功了,为什么会这样不清楚原理,kali命令直接脱就行),找main函数,直接打开就是。我还专门找了篇文章学习elf脱壳。

7.攻防世界--新手区--logmein

主要问题就出在了小端存储上,我还一直以为是哪里的逻辑没搞明白

数据在内存中是小端存储

v8 = 'harambe'
v9 = ':"AL_RT^L*.?+6/46'
v7 = 7
s = ''
for i in range(len(v9)):
​
    s=chr(ord(v8[i%v7])^ord(v9[i]))
    print(s,end='')

8.攻防世界--新手区--no-strings-attached

gdb动态调试(b decrpy),直接eax查看(x/6sw $eax)就可以

9.攻防世界--新手区--getit

直接逆就行,

s = 'c61b68366edeb7bdce3c6820314b7498'
s1 = list(s)
t = 'harifCTF{????????????????????????????????}'
f = ''
v5 = 0
for i in range(len(s)):
    if i&1:
        v3 = 1
    else:
        v3 = -1
    f+= chr(ord(s1[i])+v3)
print("harifCTF{"+f+"}")

重点是S,idaF5的时候,没有把S反汇编出来,需要自己还原。

第三部分是一个把flag写入文件的操作。(学习一下对文件怎么操作

10.攻防世界--新手区--csaw2013reversing2

解题方法:

  1. 跳到函数,从函数再跳到显示flag的框

    攻防世界re:csaw2013reversing2_Lk k k的博客-CSDN博客_csaw2013reversing2

  2. dll注入(目前不会,会了回来复现)

    攻防世界 RE csaw2013reversing2 – Ex个人博客

11.攻防世界--新手区--maze

看题目:迷宫题,找迷宫(字符串视图有),看看是不是正方形迷宫,输出一下字符串长度,发现是8*8迷宫,手动画出迷宫来

str = '  ******' \
      '*   *  *' \
      '*** * **' \
      '**  * **' \
      '*  *#  *' \
      '** *** *' \
      '**     *' \
      '********'

自己走出来即可:

#右下右右下下左下下下右右右右上上左左
#121122322211114433

这里我只分出来了O(左或上),o(右或下),0(右或下),.(左或上),只需实验几次就可以得出flag

str1 = '121122322211114433'
str2 = list(str1)
for i in range(len(str2)):
      if str2[i] == '1':
            str2[i] = 'o'
      if str2[i] == '2':
            str2[i] = '0'
      if str2[i] == '3':
            str2[i] = 'O'
      if str2[i] == '4':
            str2[i] = '.'
print("nctf{" + ''.join(str2) + "}")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值