- 博客(4)
- 收藏
- 关注
原创 头歌操作系统2.2第二关
使用 `disas` 命令查看 `task1` 函数的汇编代码,在输出中找到第一个 `int $0x81` 指令的地址。* **验证位置**:此时,再次执行 `disas` 命令,确认输出中的箭头 `=>` 指向了 `int $0x81` 指令。1. **定位并运行到 `task1` 函数**:在 GDB 中,为 `task1` 函数设置断点,并让程序运行到此处。在输出中找到 `cs`、`eip`、`ss`、`esp` 的值。记录新的 `cs`、`eip`、`ss`、`esp` 值。
2026-04-28 10:56:31
281
原创 头歌操作系统2.2 第三关
`iret` 地址找不到 | 函数名可能不同或已被优化 | 在 `display_interrupt` 反汇编中直接搜索 `iret`,或使用 `finish` 返回到调用者再找 || 栈地址 `esp` 不是 `0xffffec` | 每次运行内核栈位置可能不同 | 以你 `info registers` 显示的实际 `esp` 值为准 || `disas` 中 `int` 地址不是 `0x798f` | 编译版本或配置不同 | 以你实际看到的地址为准,填入答案 |
2026-04-22 11:28:31
489
1
原创 头歌操作系统2.2第一关
再次记录 **CS** 和 **EIP** 的值(新的指令位置,应已跳转至异常处理程序),以及 **SS** 和 **ESP** 的值(新的栈位置,应已切换至内核栈)。- **恢复点位置** = 第二个值的低 16 位 : 第一个值 = `0xf:0x6910`(注意:恢复点通常是 idiv 的**下一条指令地址**,即 `0x6910`)记录 **CS** 和 **EIP** 的值(当前指令位置),以及 **SS** 和 **ESP** 的值(当前栈位置)。> **重要提示**:以上值仅为示例!
2026-04-21 19:55:14
557
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅