0xGame2023 week4 re 内存星旅者

这。。。这想不到 还带删文件的。。。
由于这题明显的反调试特征 可以通过修改EIP直接控制跳转 来到
image
看前面的 v10 = 964609651v9[0] v9[1] 我还以为是xtea
但是看了半天也看不出程序的逻辑
直到后面看到个 deletefile
image
在IDA上不好查看它删除文件的路径
用x64dbg打开 跳转到这个地方
image
这就找到程序创建的一个flag文件了 找到打开
0xGame{t義b"?2=?7v?c(?0r?-%?3s蛓1s苸9}
这明显是乱码 分析原因:
找到前面
image

image

注意到这里 v5就是下面一张的a3 而后传参也是传的v5
然后
image
可以看到 有赋值 v1=a1
image
这里也是同v1作了一个xor后写入 而我们是'反调试' 也就是并没有满足a3=0x... 而是以a3=0传入的参数 所以要xor一个真正的a3才能得到本应正确写入的flag
所以给乱码异或一个0x1CF410

from pwn import *

f = open(r'C:\Users\asus\AppData\Local\Temp\flag','rb').read()
key =  p32(0x1CF410)
print(xor(key,f[7:-1]))

b'd5db2892-a47f-0c87-0b62-5723c9e1c2b9'

posted @ 2023-11-03 15:49  N0zoM1z0  阅读(23)  评论(0编辑  收藏  举报