Linux及安全实践二——模块
一、模块的编译、生成、测试、删除
1.编写模块代码
编写:gedit 3.c
Linux及安全实践二——模块

2.编写Makefile
Linux及安全实践二——模块

obj-m :这个变量是指定你要声称哪些模块模块的格式为 obj-m := <模块名>.o
modules-objs :这个变量是说明声称模块modules需要的目标文件 格式要求 <模块名>-objs := <目标文件>
KDIR :这是我们正在运行的操作系统内核编译目录。也就是编译模块需要的环境
M= :指定我们源文件的位置
PWD :这是当前工作路径$(shell )是make的一个内置函数。用来执行shell命令。
3.make
Linux及安全实践二——模块

4.加载、测试模块
Linux及安全实践二——模块
Linux及安全实践二——模块

5.删除模块
Linux及安全实践二——模块

二、页表
Linux采用了通用的四级页表。
Linux及安全实践二——模块

1.编写代码
Linux及安全实践二——模块

2.Makefile
Linux及安全实践二——模块

3.Make
Linux及安全实践二——模块

4.找到gedit的进程号
Linux及安全实践二——模块

5.查看gedit相应地址与相应信息
根据十六进制数8062448找到该进程线性地址。
Linux及安全实践二——模块

6.转换为十进制,加载模块

Linux及安全实践二——模块

7.测试
使用tail 查看kern.log 文件或者dmesg指令(显示开机信息,查看日志)可以看到我们在函数里输出的部分或全部内容。
Linux及安全实践二——模块

相关文章:

  • 2021-08-10
  • 2021-05-16
  • 2021-05-28
  • 2021-08-06
  • 2021-05-20
  • 2021-08-04
  • 2021-09-06
  • 2022-01-18
猜你喜欢
  • 2021-10-31
  • 2021-11-20
  • 2021-07-05
  • 2021-05-24
  • 2021-06-09
  • 2021-07-28
相关资源
相似解决方案