- 0
- 0
- 约1.66千字
- 约 6页
- 2026-01-23 发布于北京
- 举报
一、回顾
1、动态添加系统调用是可行的
2、通过动态修改机器码的方式取消动态添加系统调用
的限制
二、添加一个系统调用
1、以helloworld开始
asmlinkagelongsys_hello(int
i){printk(“helloworld\n,i);
return0;
}
2、加入运行中的系统内核
1.、从/proc/new_syscall中得到新的系统调用表
的地址;
2.、从/proc/new_syscall中得到appendi的地址,
它保存了当前的最大系统调用号。
3、模块实现
1.、内核模块实现
2.、用户态程序
#includestdio.h
#includestdlib.h
#includeunistd.h
#includeerrno.h
intmain(intargc,char*argv[])
{
ret=syscall(atoi(argv[1]),atoi(argv[2]));
return0;
}
编译好了,运行:
./test_new_call284123
用dmesg验证,有helloworld:123的输出
三、寻找系统调用表以及系统调用entry的地址
1、通过procfs或者System.map文件
2、使用第0x80个中断描述符
1.、使用中断描述符找到system_call
2.、在system_call附近寻找callXX的机器码特征
3、使用dump_stack
[f88f300b]init_module+0xb/0x53
[gettable]
[c013adc4]
sys_init_module+0x104/0x250
[c010620b]syscall_call+0x7/0xb
4、直接使用栈结构获取
栈保存了函数调用的路径。对于内核模块而言,
在insmod加载它并初始化的时候,这个栈就是
insmod进程的内核栈。我们可以顺着这个内核栈
来向上回溯,直到找到:
call*sys_call_table(,%eax,4)
的下一跳指令的地址。
5、使用/dev/mem在用户态完成内存的机器码编程
感谢您对华章培训网的支持!
.
您可能关注的文档
- 第93-94课:新邻居与国际城市.pdf
- 用于生物增强活性炭工艺去除低温水源水中氨氮异养化菌剂研究.pdf
- 全国小学语文教师素养大赛观摩与反思.pdf
- 语文中考备战限时练习:基础积累与阅读理解.pdf
- 北师大版数学必修一:用函数模型解决实际问题学案.pdf
- 生活转变:从高压工作到充满活力平衡生活.pdf
- TMS320C665X开发板恢复出厂设置指南.pdf
- 课间十分钟音乐教学设计.pdf
- 考研英语长难句突破课程.pdf
- 生职业生涯现状及影响因素分析.pdf
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
最近下载
- 安徽省芜湖市弋江区2023-2024学年六上数学期末统考模拟试题含答案.doc VIP
- 组织学和胚胎学泌尿系统.pdf VIP
- 2025年高性能复合材料在新能源储能设备中的应用研究报告.docx
- 医疗器械用复合材料市场分析报告:2025年现状与未来五到十年趋势展望.docx
- 《2025年工程机械行业复合材料应用前景分析报告》.docx
- GB∕T 40112-2021 地质灾害危险性评估规范.pdf
- 2025年海洋工程装备高性能复合材料研发与应用创新报告.docx
- 2025年中国睡眠研究报告.docx VIP
- 人教版三年级上册数学期末卷-小学数学三年级上册-期末复习试卷-人教版---.docx VIP
- 2025-2026学年高二物理期末模拟卷01【测试范围:人教版选必一+选必二】(考试版)(新高考通用).docx VIP
原创力文档

文档评论(0)