Background banner
2963 字
15 分钟
CTF 二进制安全入门 - 个人心得

众所周知,二进制挺难的,如果你真的要入坑这个圈子,一定要做好心里准备,尤其是零基础的师傅们

1. “君子四艺”#

IMPORTANT

该条目灵感来自:君子六艺
六艺是中国古代儒家要求学生掌握的六种基本才能,也泛指中国古代高等教育的学科总称。六艺有两种的含义,分别是《周礼》的古六艺和孔子提出春秋后的六艺

其实就是我自己瞎编的东西
不管是学二进制,还是学习其他的方向,有一些东西还是需要去接触和了解的,即使他们可能很难,甚至是你无法接触到,我总结了四点,这四点都能做到的话我觉的你入门会很快,学习会很爽

1-1 提问的艺术#

链接直达:(你不会打不开吧,打不开自己百度)
How-To-Ask-Questions-The-Smart-Way/README-zh_CN.md at main · ryanhanwu/How-To-Ask-Questions-The-Smart-Way
下面是 Chatgpt 提炼的内容:
好问题 = 有目的 + 有背景 + 有边界 + 有思考

1-1-1 为什么“会提问”这么重要#

  • 提问决定你能得到什么答案
  • 提问方式直接影响对方的投入程度和回答质量
  • 很多“问不到重点”,本质是问题没想清楚

1-1-2 好问题的 4 个核心特征#

  1. 有明确目的,先想清楚:我到底想解决什么?
       ❌ 坏例子:这个问题你怎么看?
       ✅ 好例子:在性能和可维护性之间,你更倾向哪个?为什么?
       👉 原则:一个问题 = 一个目标
  2. 提供必要背景,让对方“快速进入上下文”,减少来回确认
       ❌ 坏例子:为什么会报错?
       ✅ 好例子:我在 Linux 下用 gcc 编译这个程序,开启了 -O2,运行时报段错误,可能原因有哪些?
       👉 原则:背景只给“和问题强相关的”,不写流水账
  3. 边界清晰、范围可控避免“太大”“太泛”“无法一次回答”
       ❌ 坏例子:怎么学好计算机?
       ✅ 好例子:对于大二计算机专业学生,想提升算法基础,先刷哪一类题更合适?
       👉 原则:让对方知道“回答到哪就够了”
  4. 展示你的思考,不是“甩锅式提问”,而是“协作式提问”
       ❌ 坏例子:我不会,教我。
       ✅ 好例子:我尝试用哈希表优化时间复杂度,但空间开销变大了,这样权衡是否合理?
       👉 原则: 先给你的思路,再请对方补充或纠正

1-1-3 常见低质量提问类型#

  • ❌ 没做任何尝试就问
  • ❌ 问题模糊、没有上下文
  • ❌ 一次塞进 5 个问题
  • ❌ 实际想要 A,却问 B

1-1-4 万能提问模板#

  • 技术类:在【环境/条件】下,我想实现【目标】,目前尝试了【方法】,遇到【具体问题】,有没有更优的思路?
  • 学习 / 决策类:在【约束条件】下,有【A/B/C】几种选择,各自的关键利弊是什么?更推荐哪种?
  • 讨论 / 思辨类:在【前提】成立的情况下,为什么会出现【现象】?是否存在反例?

1-1-5 最高级的提问#

👉 不是问“答案是什么”,而是问“为什么”和“有没有更好的问题”
例如:我这个问题本身是否设定得不合理?有没有更合适的提问角度?

1-1-6 最后一句话总结#

提问不是暴露无知,而是展示思考深度,一个好问题,本身就已经包含了一半的答案。

1-2 谷歌的艺术#

百度不是很好用,CSDN 算半个不好用,不过前期还能用,但是你完全可以选择更好用的搜索引擎,如果你不会魔法的艺术,那你使用必应搜索,如果你会的话就用谷歌搜索,哪个能访问就用哪个
必应:搜索 - Microsoft 必应
谷歌:Google

1-3 魔法的艺术#

魔法猫咪·悠米,是 MOBA 竞技网游《英雄联盟》中第 144 位登场的英雄角色,英雄定位为辅助、法师,于 9.10 版本登场
班德尔城郊曾有一片林地幽谷,一座林间小屋中,生活着一位约德尔魔女诺拉,还有一只猫,悠米
悠米天生就拥有庇护性的魔法力量。忽然有一个看不到星星的夜晚,诺拉不见了踪影,悠米意识到诺拉去了一个非常危险的地方,知道自己一定要去救诺拉,于是便寻求魔典的帮助,最后悠米和魔典踏上了一段艰辛的旅程,造访许许多多危机四伏的未知土地
悠米的基础伤害和法强加成都很低,只能做辅助装备,作功能性用途,悠米前期是较弱的,注意走位保护好自己
悠米是一个灵活的辅助,利用它的依附被动共享属性为己方 C 位提升更多的输出伤害,团战中也可以灵活使用 W 的转移依附到前排让对手难以逃脱己方前排的常规开团

好的召唤师离不开好的辅助,不知道魔法猫咪怎么玩的可以问周围玩的好的人,我只能暗示到这里了
你也可以找第三方平台一些愿意陪你玩的大哥带带你

WARNING

注意,下面的网站不包可用,自行尝试或上网搜索

1-3-1 Github 换源#

Github 大部分时间是可以裸连的,也就是说能进入网站,但是不代表你可以克隆仓库或者是下载内容,有时候运营商甚至会污染 DNS 使你无法访问,通常需要代理的有

  • GitHub 文件
  • Releases (正式发布的可下载的文件或程序)
  • gist(写的文章,托管到 Github)
  • raw.githubusercontent.com(一个 Github 提供下载服务的域名)
    这里举个例子,下面是一个 Github 镜像站,准确点说是镜像站的链接站:GitHub Proxy 最新地址发布,下面是对该网站使用方法的根本原理:
    (任选可用网址)https://ghfast.top/ + 原始 Github 链接
TIP

克隆仓库是常用的,分为公有和私有

Shell terminal
<br>
wget https://ghfast.top/https://github.com/stilleshan/dockerfiles/archive/master.zip
curl -O https://ghfast.top/https://github.com/stilleshan/dockerfiles/archive/master.zip
wget https://ghfast.top/https://raw.githubusercontent.com/stilleshan/dockerfiles/main/README.md
curl -O https://ghfast.top/https://raw.githubusercontent.com/stilleshan/dockerfiles/main/README.md

1-3-2 Python 换源#

使用清华源,官网有详细的教程:pypi | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,下面是对清华源讲解使用方法的引用

TIP

如果您正在使用 TUNA 镜像站,可以使用 pypi.tuna.tsinghua.edu.cn 替换下面所有的 mirrors.tuna.tsinghua.edu.cn/pypi/web
pip 临时使用

Shell terminal
pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package

注意,simple 不能少,pip 要求使用 https ,因此需要 https 而不是 http
pip 设为默认
升级 pip 到最新的版本后进行配置:

Shell terminal
python -m pip install --upgrade pip
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:

Shell terminal
python -m pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple --upgrade pip

配置多个镜像源
如果您想配置多个镜像源平衡负载,可在已经替换 index-url 的情况下通过以下方式继续增加源站:

Shell terminal
pip config set global.extra-index-url "<url1> <url2>..."

请自行替换引号内的内容,源地址之间需要有空格,例如

Shell terminal
pip config set global.extra-index-url "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"

PDM 设置

Shell terminal
pdm config pypi.url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

Poetry 为单个项目设置

Shell terminal
poetry source add --priority=primary mirrors https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

为单个项目设置补充

Shell terminal
poetry source add --priority=supplemental mirrors https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

Poetry 尚未支持全局设置镜像,使用全局镜像的临时方案是将 Poetry 的安装器切换回 pip,如下所示,但该方式会在将来的版本中停止支持(撰写时间是 2026.1.28 请注意)

Shell terminal
poetry config experimental.new-installer false

Astral uv

  • Linux/Unix:在 ~/.config/uv/uv.toml 或者 /etc/uv/uv.toml
  • Windows:在 %AppData%\uv\uv.toml 或者 %ProgramData%\uv\uv.toml
    填写下面的内容:
Shell terminal
[[index]]
url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/"
default = true

详情参考官方配置文件文档
Homebrew

Shell terminal
export HOMEBREW_PIP_INDEX_URL="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"

1-3-3 Linux 换源#

这里介绍 Kali 的换源,如果你使用其他发行版,而且属于大众发行版,完全可以搜索对应的清华源:kali | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
下面是对清华源讲解使用方法的引用
pwn_general-introduction-C7534D21-70B5-4197-9B30-58F7D8B5A27E

IMPORTANT

手动替换
编辑 /etc/apt/sources.list 文件,在文件最前面添加以下条目:

Shell terminal
deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib non-free-firmware

sed 替换
执行如下命令 sed 替换

Shell terminal
sed -i "s@http://http.kali.org/kali@https://mirrors.tuna.tsinghua.edu.cn/kali@g" /etc/apt/sour

1-3-4 Docker 换源#

这个任务就交给你了,我找到一个 Github 仓库可以解决这个问题:DaoCloud/public-image-mirror: 很多镜像都在国外,比如 gcr,国内下载很慢,需要加速,致力于提供连接全世界的稳定可靠安全的容器镜像服务

1-4 AI 的艺术#

推荐几个厉害的 AI,别用豆包了,豆包的定位不适合学术,适合给父母用,DeepSeek 仍有一战之力

  • OpenAI:Chatgpt
  • Google:Gemini
  • X:Grok
  • Claude:Anthropic(真神,但是爱封号)

2. 可以参考的外部资料#

2-1 题目合集#

  • BUUCTF:一个刷题网站,适合前期过渡,前期需要做一定数量的题目,官网:BUUCTF在线评测
  • CTF-Archive:BUUCTF 的题都比较老了,等学到了中后期,就可以复现一些最近比赛的题目,你可以进入下面的仓库或者是自己去寻找一些题目留档的网站,官网:CTF-Archives

2-2 新生赛#

新生赛的时间为每年 8 - 12 月陆续开办,你也可以去水群找一些不同的比赛,专门面向新生,难度变化平缓,在你习得君子四艺的情况下说不定还有热心的师傅帮助你

  • NewstarCTF:由各个学校联合举办的比赛,官网:NewStar CTF
  • MoeCTF:由西安电子科技大学主办的新生赛,官网:西电 CTF 终端

2-3 综合学习平台#

  • CTF-Show:没用过,要花钱,看起来如果花钱的话还挺好的,官网:ctf.show
  • Pwn College:很专业的平台,但是是国外的,需要一定基础,官网:pwn.college

2-4 知识平台#

  • CTF-Wiki:一个 CTF 的百科,可以总览一下 CTF 的知识树,官网:CTF Wiki
  • 各种牛逼联队官网:有知识树和丰富的 WP,甚至分享活动

2-5 牛逼的联队哪里找#

前往 XCTF 的排行榜遍历所有排名靠前的联合战队,可以尝试向他们投简历

3. 学习二进制的前置#

注意这是前置,我不会把从入门到精通全写出来,如果我真那么牛逼的能写出来为什么我不出一本书呢

3-1 学会 “君子四艺”#

3-2 配个 Linux 环境#

4.后记#

CTF 是一个团队性的比赛,你一定会处于各种队伍之中,不管在哪个队伍,请担负起作为队伍一员的责任,善待和你并肩作战的队友,尊重每一位成员的辛勤付出,不要主观性的为你的队友挖坑
虽然目前来说这种比赛的赛制是依托答辩,在各种信息差,团队规模,Agent 高科技,PY,的加持下,获奖是越来越艰难了,但还是希望每个人都能获得到其中的乐趣

CTF 二进制安全入门 - 个人心得
https://blog.lufiende.work/posts/ctf/pwn-tutorial/intro/pwn_general-introduction/
作者
Lufiende
发布于
2026-01-29
许可协议
CC BY-NC-SA 4.0