zoukankan      html  css  js  c++  java
  • Linux及安全实践二——模块

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

    2.编写Makefile

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

    4.加载、测试模块

    5.删除模块

    二、页表
    Linux采用了通用的四级页表。

    1.编写代码

    2.Makefile

    3.Make

    4.找到gedit的进程号

    5.查看gedit相应地址与相应信息
    根据十六进制数8062448找到该进程线性地址。

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

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

  • 相关阅读:
    进程空间与系统空间(一)
    内核之最
    Linux 内核3.10.5 专场
    device_create与device_register
    重写与重载的含义
    抽象类和接口的区别
    Spring知识点
    mybatis学习
    知识点
    Mybatis面试题
  • 原文地址:https://www.cnblogs.com/lxq20135309/p/5530030.html
Copyright © 2011-2022 走看看