[ pwn 学习 ] CTFshow-pwn13
2026-08-22 20:36:38

pwn13

1
13.如何使用GCC?编译运行后即可获得flag
1
2
3
4
5
6
#include <stdio.h>
int main() {
char flag[] = {99, 116, 102, 115, 104, 111, 119, 123, 104, 79, 119, 95, 116, 48, 95, 117, 115, 51, 95, 71, 67, 67, 63, 125, 0};
printf("%s", flag);
return 0;
}

Anal

flag13.c里的数字是 ASCII 码

按照 misc 的做法 在 cyberchef 去掉逗号 From Decimal 即可

1
2
flag = [99, 116, 102, 115, 104, 111, 119, 123, 104, 79, 119, 95, 116, 48, 95, 117, 115, 51, 95, 71, 67, 67, 63, 125, 0]
print(''.join(chr(c) for c in flag))

转为字符串后是ctfshow{hOw_t0_us3_GCC?}

Sol

更新软件源

1
sudo apt update

安装 gcc

1
sudo apt install -y gcc

安装更完整的编译环境

1
sudo apt install -y build-essential

检查安装的 gcc 版本

1
gcc --version
  • 调用 gcc 编译器 输入flag13.c这个文件 把编译后的可执行文件命名为****flag13
  • 运行这个可执行文件flag13

ctfshow{hOw_t0_us3_GCC?}


相关笔记

  • pwn5 — 同样是汇编/编译相关:nasm 汇编器使用
  • pwn14 — C 语言编译 + 文件操作
  • pwn15 — nasm 汇编 flag.asm → 可执行文件
  • pwn16gcc 编译 .s 汇编文件 + hex 解码
上一页
2026-08-22 20:36:38
下一页