第1关:版本1内核执行的前 3 个系统调用
一、实验要求
任务描述
分析版本1内核,回答下列问题:
系统运行时,执行的前 3 个系统调用的编号和名字分别是什么?
相关知识
为了完成本关任务,你需要:跟踪系统调用的发生。
环境准备
本关卡使用版本 1 内核进行分析,版本 1 内核文件存放在/data/workspace/myshixun/exp1文件夹中。
使用 gdb 调试内核,跟踪到 main 函数入口的方法与之前实训一样。
二、实验过程及答案
打开终端
依次输入+回车
ls /data/workspace/myshixun/exp1
cp /data/workspace/myshixun/exp1/1.tgz ~/os
cd os/linux-0.11-lab
tar -zxvf ../1.tgz 1


rm -rf cur
ln -s 1 cur
ls

cd /linux
make


cd ../..
./rungdb


另外再点击一下终端,打开另一个终端


cd os/linux-0.11-lab
./mygdb


b system_call
c
disas

此时,系统调用号存放在寄存器 eax 中
display $eax

disas
b *0x7780
c
x/3i $eip
si


重复操作
b system_call
c
disas
display $eax
disas
b *0x7780
c
x/3i $eip
si

再重复操作
b system_call
c
disas
display $eax
disas
b *0x7780
c
x/3i $eip
si

三、填写答案
/data/workspace/myshixun/第一关.txt/



记得保存文件

点击测评


【超级会员V3】通过百度网盘分享的文件:1.mp4
链接:https://pan.baidu.com/s/1tYEyRoM6td8ydbxet16XEw
提取码:31p8
复制这段内容打开「百度网盘APP 即可获取」
--------视频内容,自取
实验2.3:系统调用(无脑版)&spm=1001.2101.3001.5002&articleId=148013691&d=1&t=3&u=a931748016f34a6a85c4f25bf98d4503)
1万+

被折叠的 条评论
为什么被折叠?



