打开发现两个文件
使用工具发现是32位的,用32ida打开
进入字符串窗口寻找有用信息
发现奇怪字符,进去看看(下面那个flag.txt看过了,没什么东西)
发现熟悉的str2,
跟进到有用的函数了
一眼异或,写python脚本
sss = "DH~mqqvqxB^||zll@Jq~jkwpmvez{"
Str1 = ""
for i in range(len(sss)):
Str1 += chr(ord(sss[i]) ^ 0x1F)
print(Str1)
//输出[Warnning]Access_Unauthorized
很明显这个不是flag,在看看ida,发现这里有个要求输出密钥的选项,根据上面的逻辑,它应该是会读取flag.txt文件然后解密最后输出enflag.txt文件的,那么我们就先把它给我们的enflag.txt改名成flag.txt,试试
果然改完名字后,跳出了让我们输入密钥的选项
运行成功后,重新出现了enflag.txt,不过此时里面的内容是flag了
后续我看了一下别人的wp,发现这是个rc4的加密,那我们也可以,将原本的enflag.txt的内容转换成16进制,
然后直接解密