【学习记录】Week1:Win10/11 安装 WSL2 + Ubuntu 及配置 GDB + pwndbg 详细教程

📅 2026/6/30 3:19:27
【学习记录】Week1:Win10/11 安装 WSL2 + Ubuntu 及配置 GDB + pwndbg 详细教程
写在前面本篇博客作为我个人 Week1 的学习记录主要记录如何在 Windows 系统下通过 WSL2 安装 Ubuntu 子系统并搭建用于逆向工程与漏洞利用PWN的 GDB pwndbg 调试环境。整个过程踩了不少坑希望这篇文章能帮到同样在学习底层安全的同学们。 目录环境准备安装 WSL2 与 UbuntuUbuntu 基础环境配置换源与更新安装 GCC 与 GDB安装与配置 pwndbg验证环境是否成功总结1. 环境准备操作系统Windows 10 (版本 2004 及更高) 或 Windows 11。要求确保 BIOS 中已开启 CPU 虚拟化。网络需要能够访问 GitHub 和 Ubuntu 官方源后期会换国内源加速。2. 安装 WSL2 与 Ubuntu在 Windows 较新的版本中微软提供了一个极其简单的一键安装命令。2.1 一键安装 WSL以管理员身份打开 PowerShell 或 Windows 终端输入以下命令wsl --install这条命令会自动启用所需的 Windows 功能虚拟机平台并默认安装 Ubuntu 作为 Linux 发行版。注意安装完成后需要重启电脑。2.2 初始化 Ubuntu重启电脑后系统会自动弹出一个终端窗口或者你可以在开始菜单中找到并打开 “Ubuntu”开始初始化 Linux 子系统。系统会提示你创建一个新的 UNIX 用户名和密码Enter new UNIX username: [输入你的用户名如 pwn_user] New password: [输入密码输入时不会显示字符这是正常的] Retype new password: [再次输入密码]设置完成后你会看到类似pwn_userDESKTOP-XXXX:~$的提示符说明 Ubuntu 已经成功安装并运行2.3 确认 WSL 版本确保是 WSL2为了获得最佳性能尤其是网络和文件系统我们需要确保运行的是 WSL2。在 Windows 的 PowerShell 中输入wsl -l -v如果VERSION列显示为2则配置正确。如果显示为1可以通过以下命令转换wsl --set-version Ubuntu 23. Ubuntu 基础环境配置换源与更新由于默认的 Ubuntu 官方软件源在国内访问速度较慢我们先将其替换为阿里云或清华大学的源。这里以清华大学源Ubuntu 22.04 LTS 为例进行演示。3.1 备份原有源在 Ubuntu 终端中执行sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak3.2 修改源文件使用 nano 或 vim 编辑源文件如果不会用 vim推荐使用 nanosudo nano /etc/apt/sources.list将文件内的内容全部替换为以下内容默认为 22.04 jammy 版本如果你安装的是其他版本请去清华源官网查找对应版本deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse*(在 nano 中按CtrlO保存回车确认按CtrlX退出)*3.3 更新软件包执行以下命令更新软件列表并升级已安装的包sudo apt update sudo apt upgrade -y4. 安装 GCC 与 GDB既然要使用 GDB 调试肯定需要有被调试的程序因此我们需要安装编译器gcc和调试器gdb。在终端中执行sudo apt install build-essential gdb -ybuild-essential包含了gcc、g和make等基础编译工具。gdb就是我们要用的 GNU Debugger。安装完成后验证版本gcc --version gdb --version5. 安装与配置 pwndbgpwndbg是一个专门为漏洞利用和逆向工程设计的 GDB 插件它比原生的 GDB 界面友好得多能直观地显示寄存器、堆栈、反汇编等信息。5.1 安装前置依赖pwndbg 依赖一些 Python 包和工具先安装它们sudo apt install python3 python3-pip python3-dev git -y5.2 克隆 pwndbg 仓库在你的 home 目录下或任何你喜欢的目录克隆 pwndbg 的官方仓库cd ~ git clone https://github.com/pwndbg/pwndbg.git cd pwndbg(如果 GitHub 下载速度过慢可以使用镜像站git clone https://gitclone.com/github.com/pwndbg/pwndbg.git)5.3 运行安装脚本pwndbg 提供了一个一键安装脚本执行它即可自动配置一切./setup.sh脚本会自动下载所需的 Python 依赖库并将 pwndbg 的配置写入你的~/.gdbinit文件中。注意如果在运行setup.sh时报错关于pip的版本或证书问题可以尝试更新 pippython3 -m pip install --upgrade pip然后重新运行脚本。6. 验证环境是否成功现在让我们来检验一下 Week1 的学习成果6.1 编写一个简单的 C 程序在终端中创建一个test.c文件nano test.c输入以下代码#include stdio.h int main() { int a 5; int b 10; int c a b; printf(Result: %d\n, c); return 0; }保存退出后使用 gcc 编译注意加上-g参数以包含调试信息gcc test.c -o test -g6.2 使用 GDB pwndbg 调试在终端输入以下命令启动调试gdb ./test如果一切顺利你会看到一个极其酷炫的界面界面通常分为几个区域顶部反汇编窗口中间寄存器状态底部堆栈数据 和源代码显示最下方GDB 的命令输入提示符pwndbg你可以尝试输入以下 pwndbg 命令来感受一下b main在 main 函数下断点r运行程序n单步步过c继续运行7. 总结经过以上步骤我们在 Windows 上完美搭建了基于 WSL2 的 Ubuntu 虚拟化环境并成功配置了GDBpwndbg调试工具链。本周收获理解了 WSL2 的基本概念与安装流程。掌握了 Linux 基本的换源操作和软件包管理。成功搭建了底层安全研究的最强调试组合。踩坑记录供大家参考WSL 一定要确保是版本 2之前用 WSL1 会导致网络桥接和某些底层 syscall 不兼容。运行setup.sh时一定要确保网络通畅如果 Python 包安装失败多半是网络问题。如果本篇文章对您有帮助请点赞收藏支持一下感谢阅读