0xGame2023 week4 re 内存星旅者
这。。。这想不到 还带删文件的。。。
由于这题明显的反调试特征 可以通过修改EIP直接控制跳转 来到
看前面的 v10 = 964609651
和 v9[0] v9[1]
我还以为是xtea
但是看了半天也看不出程序的逻辑
直到后面看到个 deletefile
在IDA上不好查看它删除文件的路径
用x64dbg打开 跳转到这个地方
这就找到程序创建的一个flag文件了 找到打开
0xGame{t義b"?2=?7v?c(?0r?-%?3s蛓1s苸9}
这明显是乱码 分析原因:
找到前面
注意到这里 v5就是下面一张的a3 而后传参也是传的v5
然后
可以看到 有赋值 v1=a1
这里也是同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'