:?*@A=B>6)070$C0/"> :?*@A=B>6)070$C0/" />
Linux目标代码内核补丁的机理和应用.pdf

Linux目标代码内核补丁的机理和应用.pdf

ID:52954664

大小:200.03 KB

页数:4页

时间:2020-04-03

Linux目标代码内核补丁的机理和应用.pdf_第1页
Linux目标代码内核补丁的机理和应用.pdf_第2页
Linux目标代码内核补丁的机理和应用.pdf_第3页
Linux目标代码内核补丁的机理和应用.pdf_第4页
资源描述:

《Linux目标代码内核补丁的机理和应用.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、!"#$%目标代码内核补丁的机理和应用胡勇其&,%匡先锋&,%侯紫峰!(&中国科学院计算技术研究所,北京&"""9")(!联想研究院,北京&"""9:)(%中国科学院研究生院,北京&"""9%);:?*@A=B>6)070$C0/摘要该文介绍了基于目标代码(二进制编译文件)为’()*+运行时系统内核内存映像打补丁以修改内核的原理和方法,并给出了一个示例场景和程序以说明其应用。掌握该方法对于内核开发、系统调试和系统安全都具有重要的实用价值。关键词内核补丁’()*+目标代码文章编号&""!<9%%&<(!""#)%!<"&!&<"%文献标识码2中图分类号D3%&&&#’(

2、)*$+’")#),-.+/0#"120#*3445"+0’")#),!"#$%6.(#.570’+/"#89"’/:;<.+’=)*.>$?)#8@"A,B6$0#8C"0#,.#8A,B>)$D",.#8E(&4).E(E*E60FG0/H*E6ID6C?)0>0J@,E?6G?()6.62C=16/@0FKC(6)C6.,L6(M()J&"""9")(!’6)070G0IH0I=E6NOP,L6(M()J&"""9:)(%QI=1*=E6KC?00>0FE?6G?()6.62C=16/@0FKC(6)C6.,L6(M()J&"""9%)3;1’(0+’:D?6/6C?=)

3、(./=)1/6E?010F86I)6>H=EC?()J0)>()*+86I)6>(/=J6I*))()J()/6/0I@R(E?0SM6CEC016(.()EI01*C61$D?6.0*IC6C016=.=)6+=/H>6(.HI6.6)E61E016/0).EI=E6E?6*.=J60FE?(./6E?01$4E(.(/H0IE=)EE08)0RE?(./6E?01F0I86I)6>1676>0H/6)E=)116S*JJ()J=)1.@.E6/.6C*I(E@$6.F9)(*1:86I)6>H=EC?()J,’()*+,0SM6CEC016&引言这一冗长而重复的过程依然不

4、可避免。’()*+内核源代码开放为基于内核的系统开发提供了便利该文介绍基于目标代码(二进制编译文件)的运行时内核和基础。对内核功能的扩展和对现有功能、机制的改进主要通补丁,这种方式利用’()*+现有的功能和机制,无需重新启动过两种方式来实现:可加载内核模块和修改内核核心代码。前系统就可以将目标代码加入到运行中的内核内存映像中,方便者既可以编译到内核映像中,&-,在内核启动时加载,也可以在内了内核开发过程特别是系统调试过程,甚至最终发行系统也可核启动后通过内核模块工具如()./01等加载,并在不需要时以采用这种方式,系统无须停止运行就可以修改内核映像,这通过内核工具从内核卸载,以

5、节约系统资源,一般认为这是内对于一些宕机时间要求很严格的系统尤其是个很好的更新方核开发的一种很好的方式,因为它只调用内核234,与内核其式。同时,它还是一种黑客攻击方式,了解这种方式的运用,对他部分的耦合度低,无需太关心内核其他部分的细节,同时便于增强系统管理员的防范意识和提高系统安全性无疑也很有于调试和开发;而通过修改内核核心代码为内核加补丁的方式帮助。涉及对内核核心部分的基本机制、结构和功能的修改,涉及内该文从内核映像的编译、链接和执行出发,介绍了通过目核234内部实现甚至234的改动,无法通过可加载内核模块来标代码给内核映像加补丁的原理和机制,以及其实现的途径和实现,必须

6、将改动编译到内核映像中作为内核不可或缺的一部方式,并给出了在实际内核开发中应用的一个例子来直观说明分,在系统启动时加载。其机理和实际应用。通过修改内核核心基本代码,可以实现符合特定功能要求的系统,因此深层次的开发常需要给内核打补丁,重新编译代!’()*+直接内核内存访问码,然后构造一个新的系统。这种方式对于已经开发调试完毕系统启动后,’()*+内核映像被加载到内存的内核区域,并的系统而言无疑是很好的选择,但是整个开发过程、特别是调且锁定在该区域中,所有的系统调用和新加载的内核模块都要试过程将会很麻烦费时,需要不断地修改代码、编译内核、重新调用内核映像中的函数和数据结构,即内核2

7、34。’()*+系统实启动系统,即使是通过虚拟机能够缩短一部分调试时间,大部现了可以直接访问内核内存区域的字符设备,包括51675/6/分工作仍然需要在真实的环境中进行,编译、重启系统、运行,和516758/6/,前者为物理内存访问,是线性内存(物理内存)作者简介:胡勇其(&TU:<),男,硕士研究生,研究方向:嵌入式系统,网络存储,无线网络。匡先锋(&TUT<),男,硕士研究生,研究方向:视频编码。侯紫峰(&T::<),男,博士生导师,博士,联想研究院首席研究员,主要研究方向为无线局城网、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。