Skip to content

Commit

Permalink
feat(lab/0): update for beginner
Browse files Browse the repository at this point in the history
  • Loading branch information
GZTimeWalker committed Feb 27, 2024
1 parent 94bcded commit 09a8958
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 10 deletions.
13 changes: 7 additions & 6 deletions docs/labs/0x00/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@

我们推荐在以下环境进行实验:

- Windows 10/11
- Ubuntu 22.04 LTS
- Ubuntu 22.04 LTS on WSL 2
- Ubuntu 22.04 LTS (jammy) on WSL 2 **(推荐 Windows 用户选择)**
- Windows 10/11 **(Windows 原生备选,GDB 相关功能无法使用)**
- Ubuntu 22.04 LTS (jammy)
- macOS with Apple Silicon

以上环境经过我们的测试和验证,可以正常进行实验。对于其他常用的 Linux 发行版,通常也可以正常进行实验,但我们不提供技术支持。
Expand All @@ -27,15 +27,16 @@

本实验在 Windows 上进行项目开发是**完全可行的**,但是我们提供的各种工具的选项可能有所出入。

在 Windows 平台上我们建议通过 VSCode + Python + CodeLLDB 插件进行开发、调试。
在 Windows + WSL 2 平台上,建议使用 VSCode (Remote WSL) 连接到 WSL2 进行开发、调试。

在 Linux 平台上我们建议通过 VSCode (Remote) + Python / make + GDB 结合 gef 进行开发、调试。

在 Windows 平台上我们建议通过 VSCode + Python + CodeLLDB 插件进行开发、调试。

- 对于选择使用 Linux 的同学,请参考 [Linux 环境配置](../../wiki/linux.md) 进行配置,**文档包含 Linux 相关安装指南**

- 对于选择使用 Windows 的同学,请参考 [Windows 环境配置](../../wiki/windows.md) 进行配置。

- 对于选择使用 Linux 的同学,请参考 [Linux 环境配置](../../wiki/linux.md) 进行配置。

- 对于选择使用 macOS 的同学,请安装 `brew` 和相应工具,参考 [Linux 环境配置](../../wiki/linux.md) 进行配置。

## 尝试使用 Rust 进行编程
Expand Down
23 changes: 20 additions & 3 deletions docs/wiki/linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,26 @@ wsl --install -d Ubuntu

关于其他的配置,可以在网上找到大量的参考资料,请自行搜索阅读,或寻求 LLM 的帮助。

### 使用 VMware Workstation
### 使用其他虚拟机软件

参考 [VMware Workstation 安装 Ubuntu 22.04 LTS](https://zhuanlan.zhihu.com/p/569274366) 教程。
如果你不想使用 WSL2,也可以使用其他虚拟机软件,如 VMware Workstation、VirtualBox 等,安装 Ubuntu 22.04,相关安装教程请自行搜索。

!!! warning "使用须知"

请注意,你需要自行处理如下问题,以达到与 WSL 2 类似的能力:

- 与 Windows 之间的剪贴板共享(需要安装 VMware Tools 等辅助工具和 Guest 侧驱动)
- 与 Windows 之间的文件共享 (需要配置共享文件夹,或者使用网络共享协议)

如果有需要在 Windows 上使用 SSH 连接到虚拟机,你需要在虚拟机中安装 SSH 服务,并配置网络连接。

**以上内容都需要你具有一定的 Windows 和 Linux 系统的使用经验,如果你不确定自己是否能够完成这些操作,请使用 WSL 2。**

### 使用实体机

如果你已经拥有了一台 Linux 服务器或者台式机,笔者相信你的折腾能力。

你可以使用任何你喜欢的发行版,但请注意内核版本、QEMU 版本都不应低于实验的参考标准。

## 安装项目开发环境

Expand Down Expand Up @@ -67,7 +84,7 @@ wsl --install -d Ubuntu

```bash
$ rustc --version
rustc 1.77.0-nightly (11f32b73e 2024-01-31)
rustc 1.78.0-nightly (0ecbd0605 2024-02-25)
$ qemu-system-x86_64 --version
QEMU emulator version 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.15)
Expand Down
26 changes: 25 additions & 1 deletion docs/wiki/windows.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Windows 环境配置

!!! warning "关于环境选择"

**如非特殊需要,强烈建议使用 WSL 2 在 Windows 上进行开发。**

**借助于 VSCode 和 Remote WSL 插件,可以实现更好的编写代码、编译、调试体验。**

**WSL 2 的安装和配置请参考 [WSL 2 官方文档](https://docs.microsoft.com/zh-cn/windows/wsl/install)。**

**TL;DR**

```bash
wsl --install -d Ubuntu
```

---

**如果你选择使用 WSL 2,可以跳过此文档的内容,转至 [Linux 环境配置](./linux.md) 进行配置。**

**如果你继续选择使用 Windows 直接进行实验,请确保:**

- **你具有良好的 Windows 折腾能力,了解环境变量配置、Windows 目录权限等。**
- **通读下列文档,不要做一步看一步。**
- **你能够正确理解下列文档中所描述的步骤的含义和目的。**

!!! tip "关于 Windows 10"

本文主要面向 Windows 11 用户,在 Windows 10 上你可能需要补全一些额外的步骤,如:
Expand Down Expand Up @@ -29,7 +53,7 @@ rust 提供了两种 windows 上的工具链:`msvc` 和 `gnu`,详细信息
在安装 Visual Studio 时,需要选择如下组件:

- `MSVC v143 - VS 2022 C++ x64/x86 build tools (latest)`
- `Windows 11 SDK (10.0.22621.0)`
- `Windows 11 SDK`

`msvc` 工具链可以提供更好的 Windows 应用兼容性,也是 Windows 上开发 rust 应用推荐的工具链。

Expand Down

0 comments on commit 09a8958

Please sign in to comment.