xctf 攻防世界 key

好久没有去攻防世界玩了 主要是这段时间太忙了  有很多 杂事 缠身吧 然后没事看看堆 就。。 看自闭了 

然后这道题其实还是很简单的   有很多函数 还有指令其实感觉 用od  或者ida 直接静态 就能查出来什么意思 就没有必要 去深究 里面的算法

点进去 主要的函数 

发现了这个东西  注意这个  Memory 这个东西  我们往下看

这里 决定了我们的走向他就是参数之一  然后我们我们 发现 如果直接 运行程序 会失败  原因就是 他这个是 读取的 txt

 

我们在路径下  直接建立一个文件就行 然后 写上pwn   然后我们分析一下sub_4020C0 这个函数

 这里的v7 应该就是我们的 memory  但和他比较的 并不是很确定是不是我们的 file文件 我们用od 来调试一下

emmmmm    直接出来flag 了  如果想 用程序解密的话 下面是脚本

idg_cni~bjbfi|gsxb

str1 = "themidathemidathemida"
str2 = ">----++++....<<<<."

key =""
flag=""
for i in range(18):
	key += chr((ord(str1[i]) ^ ord(str2[i]))+22)
for i in key:
	flag+=chr(ord(i)+9)


print(flag)

这个题 还是很简单的啊

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值