第五篇博客
题目
- 比赛:HNCTF 2022 Week1
- 题目名称:X0r
- 类型:Reserve(逆向工程)
1. 查壳
将文件拖入exeinfope进行查壳,发现没有壳,是64位的
2. 逆向分析
将文件拖入IDA中打开,查看字符串,发现一串奇怪的字符串please input your flag!
跟进一下,看到这个
接着按F5反汇编查看伪代码
由伪代码分析flag长22,接着跟进一下arr[i]
得到这些可以解码了
3. 解码
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main() {
int arr_list[] = {0x03FE, 0x03EB, 0x03EB, 0x03FB, 0x03E4, 0x03F6, 0x03D3, 0x03D0, 0x0388, 0x03CA, 0x03EF, 0x0389, 0x03CB, 0x03EF, 0x03CB, 0x0388, 0x03EF, 0x03D5, 0x03D9, 0x03CB, 0x03D1, 0x03CD};
int size = 22;
char flag[size];
for (int i = 0; i < size; i++) {
flag[i] = (char)((arr_list[i] - 900) ^ 0x34);
}
printf(“%s\n”, flag);
return 0;
}
4. Flag
NSSCTF{x0r_1s_s0_easy}