[Buuctf] reverse3

1.查壳

在这里插入图片描述
32位exe文件,没有壳

2.用32位IDA打开

在这里插入图片描述
找到main函数,F5查看伪代码
在这里插入图片描述
从后往前逆推
根据strncmp可知DestinationStr2相等,双击查看Str2
在这里插入图片描述

'e3nifIH9b_C@n@dH'

再往上for循环对Destination`进行了修改,写脚本

key=['e','3','n','i','f','I','H','9','b','_','C','@','n','@','d','H']
flag=''
for i in range(0,len(key)):
    flag=flag+chr(ord(key[i])-i)
print(flag)
>>>
e2lfbDB2ZV95b3V9

但是这还不是最终的flag,往上看有一个sub_4110BE函数,双击查看一下
在这里插入图片描述
继续跟进
在这里插入图片描述
这个函数的作用是base64加密,我们用一下base64解密就可以了
写脚本

import base64

key=['e','3','n','i','f','I','H','9','b','_','C','@','n','@','d','H']
flag=''
for i in range(0,len(key)):
    flag=flag+chr(ord(key[i])-i)
print(base64.b64decode(flag))
>>>b'{i_l0ve_you}'

flag{i_l0ve_you}

补充

base64加密
这里我就不详细解释base64了,想要了解的可以去搜一下学习。

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值