拖入IDA64
- 可以看到解题的关键在于encode这个函数和enflag,key的值,点击去查看
查看encode函数
查看key的值
- key的值为12h,转换成十进制为18
查看enflag的值
- 将字符串转换为10进制,得到数组enflag,为了方便写脚本,用a代替enflag
写脚本
#include <stdio.h>
int main(void)
{
int i;
int a[19]={105,122,119,104,114,111,122,34,34,119,34,118,46,75,34,46,78,105,0};
for(i=0; i<18; i+=3)
{
printf("%c",(char)(18^a[i])-6);
printf("%c",(char)(18^a[i+1])+6);
printf("%c",(char)18^a[i+2]^6);
}
return 0;
}