linux - 使用 Linux 可加载内核模块的系统调用拦截(劫持)
问题描述
我正在尝试使用 Linux Kernel v4.19.8 中的可加载内核模块劫持系统调用。
sys_call_table
我可以从/boot/System.map-4.19.8找到虚拟地址。但是,当我尝试访问它时,dmesg 会给我以下消息:
BUG : unable to handle kernel paging request at [address of sys_call_table]
所以,这是我的问题。
- 甚至可以在 Linux Kernel v4.19.8 中使用可加载内核模块劫持系统调用吗?
- 如果有可能,我该怎么做?
先感谢您。
解决方案
根据您感兴趣的系统调用,您可以使用一些挂钩。通常有一个回调,您可以使用您的模块进行修补。因此,您可以创建一个包装函数并做一些事情,然后在完成后调用“真实”回调。
推荐阅读
- excel - 如何将组合框中的每个项目链接到特定行?
- rabbitmq - 在两个 RabbitMQ 环境之间配置联合,但没有遇到“链接”
- swift - 带有集群和自定义视图标记的谷歌地图在放大和缩小时滞后太多
- xml - 如何读取 xml 文件并更改子节点中的某些值,然后使用 VBA 写入另一个或相同的值?
- sql-server - T-SQL 等效于 C++ #define
- python - SQLAlchemy 中如何实现优先分组?
- android - 尝试解析 json 文件时出现空指针异常
- json - 解析 JSON 数据仅适用于模板(HTML)但不适用于组件类(Typescript)
- android - Dagger 不初始化 var
- sql - 选择最昂贵产品销量最高的公司