查壳后发现无壳且是 32 位程序,所以我们直接用 32 位 IDA PRO 打开即可,还是一样找主函数,但是当我 F5 反汇编的之后却发现无法反汇编

在这里我卡住了,于是我上网查了一下别的大佬写的 wp

我们跟踪一下这个地址,跳到 00401095 这个地址之后,我们再按 F5 反汇编,然后再重新进入 main 函数,就可以反汇编了

这下思路就很清晰了,逻辑很简单,就直接上脚本吧

1
2
3
4
5
6
a = 'MSAWB~FXZ:J:`tQJ"N@ bpdd}8g'
b = ''
for i in range(len(a)):
b += chr (i ^ ord(a[i]))
print(b)

得到 flag:MRCTF{@_R3@1ly_E2_R3verse!}

题目来源:BUUCTF 在线评测 (buuoj.cn)–Xor