# 实验 2：Bomb Lab

## 实验附件

* README
  * <http://csapp.cs.cmu.edu/3e/README-bomblab>
* Writeup
  * <http://csapp.cs.cmu.edu/3e/bomblab.pdf>
* 版本历史
  * <http://csapp.cs.cmu.edu/3e/bomblab-release.html>
* 自学材料
  * <http://csapp.cs.cmu.edu/3e/bomb.tar>
* 解答（需使用教师账户登录）
  * <http://csapp.cs.cmu.edu/im/bomb-solution.txt>

## 实验简介

“二进制炸弹”是一个程序，以目标代码文件的形式提供给学生。运行时，它会提示用户键入 6 个不同的字符串。如果其中任何一个错误，炸弹就会“爆炸”，打印错误消息并将事件记录在打分服务器上。学生们必须通过反汇编和逆向程序，“拆除”他们自己独特的炸弹，以确定这 6 个字符串应该是什么。该实验教学生理解汇编语言，并迫使他们学习如何使用调试器（debugger）。它也很有趣。这是 CMU 本科生的一个传奇实验。

上面的自学讲义中给出了一个 Linux/x86-64 二进制炸弹，你可以自己试试。通知打分服务器的功能已被禁用，所以你可以随意引爆此炸弹而不受惩罚。如果你是一个拥有 CS:APP 帐户的讲师，那么你可以下载解答。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hansimov.gitbook.io/csapp/labs/bomb-lab.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
