BUUCTF Reverse/xor
依旧先查壳,这是一个MAC的程序
直接放到IDA64位中打开
flag输入后,经过异或变换要等于global
查看global的值
写出相应脚本
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main()
{
char flag[] = {'f',0x0A,'k',0x0C,'w','&','O','.','@',
0x11,'x',0x0D,'Z',';','U',0x11,'p',0x19,'F',0x1F,
'v','"','M','#','D',0x0E,'g',6,'h',0x0F,'G','2','O'};
flag[33] = '\0';
for(int i = 32 ; i > 0; --i)
{
flag[i] ^= flag[i - 1];
}
printf("%s\n",flag);
return 0;
}
运行得到结果