xctf 攻防世界 key

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

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

点进去 主要的函数 

xctf 攻防世界 key_第1张图片

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

xctf 攻防世界 key_第2张图片

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

 

xctf 攻防世界 key_第3张图片

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

xctf 攻防世界 key_第4张图片

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

xctf 攻防世界 key_第5张图片

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)

这个题 还是很简单的啊

你可能感兴趣的:(逆向之旅)