re刷题【3】

xor
在这里插入图片描述
无壳,用ida打开,F5看伪代码。
在这里插入图片描述

输入的v6的长度为33,也就是flag的长度。从第二项开始,每一项都与前一项异或之后得到的v6再和v3比较,相同得Success。
现在查看v3是什么
在这里插入图片描述
给了一堆字符串,将他们导出正好为33个
在这里插入图片描述
根据题意编写脚本

s = [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,0]
flag = "f"
for i in range(1,len(s)):
    flag += chr(s[i]^s[i-1])
print(flag)

运行得到
在这里插入图片描述
flag{QianQiuWanDai_YiTongJiangHu}
reverse3
在这里插入图片描述
无壳,F5看伪代码
在这里插入图片描述
输入一个字符串str经过变换成为str2,相等则处right flag。
那么看看怎么变换的
在这里插入图片描述
跟进,可以看出为base64加密
在这里插入图片描述
在这里插入图片描述
这一句是加密后的str经过位移
最终得到str2,跟进得到str2为
在这里插入图片描述
编写脚本

import base64
str2 = "e3nifIH9b_C@n@dH"
str1 = ""

for i in range(len(str2)):
    str1 += chr(ord(str2[i])-i)

flag = base64.b64decode(str1)
print(flag.decode())

运行得到
在这里插入图片描述
最终flag为:flag{i_l0ve_you}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值