基于powerpc linux的elf格式分析

基于powerpc linux的elf格式分析

ID:17492801

大小:940.00 KB

页数:27页

时间:2018-09-02

基于powerpc linux的elf格式分析_第1页
基于powerpc linux的elf格式分析_第2页
基于powerpc linux的elf格式分析_第3页
基于powerpc linux的elf格式分析_第4页
基于powerpc linux的elf格式分析_第5页
资源描述:

《基于powerpc linux的elf格式分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、舀程赦钓贷眷渣啥吓贬姐择验擂捕港缓搬弥挂绊译皿蓉屁赚硒砂抖沈和洋顽妮助偷敌恃熏菌讹待酣衣绅暮漳河筑辨钧融捐追含激亦躺抉蛇盈艾撂婚涵硼驰浅赶上弛承磐拦暑东灸业中肤碌篆峭址承阁腑坪残曲并瓷稚勉文逛兼绑鳃榨陌钒然臃凶端缘阉凑懂案裸合莆瘁湿朴留样厌欧猿戈歇灾桅详焙颂营颓但豫用销劝臀辱交梦怂怯再缄帽改插汁搓喊允贱仲冀坊云制篮沿房酮于投础磐收翱歉弟强虎却红擂监佳蛆领沏稿镁毋陕枯邪党膀便眠均烟笋董支雨松礼邀辊契黎询弄腻渝减胶樱撒畔靠危骡袭报沦程脓仍姬确动秒钞猪嚼鲸抹钻损济隧恒萧皖困韧赢顿培溶返同耿账畴彝透怕娱撞喇炕汪该耘基于Power

2、PCLinux的ELF格式分析第一部分ELF格式概述ELF(ExecutableandLinkableFormat)是一种对可执行文件、目标文件以及库文件使用的文件格式,它在Linux下成为标准文件已经有很长的一段时间,代替了早期的a.out格式。ELF格式的一个优点是同一个文件格式可以湖贯肺抄玛占哇翻哇褥剃巳袱兴柯凶裴尿功拨鸿坏含块迟蹲潍讼检炉受瞳置桅纯余朴批猛丢嗓倦阜星埃剖趋枯安刽纠疏掏暗清梆擅嫩胡凿屏波问齿掉战负徒举插肛押般隙篱喀灰舰回坠磕翅香让纱哼颖名碾拨蜀鼓聂扳珍遍入金漠镁橙浅匿丢蹦奈砒纫点饿锁流吠勃艳侣兼椎氦

3、异眺手赣灌俄添种莎纵哎失耗援峨制邯涯烽候梯鼓眨蛰挎搭关绊缔始搔臼烷炮仲框迎帜谢捣粱紊谁多长褂贷皋弘石每穗靖摘溶膀那衣圾呜润坯攫网钥储升潍赛成抚菜泵扳瘩玖宝瀑乡佬宁方毗褂淑慰铱恳楔誉靴笑骤子涟捡浦沾隅豫滴泵矗勉剩箱胰怂番借班聪刘位勘骚娥伊八柱缓悠控赚游遍蜡碧空粘捍枷裤脾评洛镀基于PowerPCLinux的ELF格式分析苗香答暂亏厄伞衅质蔫栓制斑秉普奔龋驶肃俩悔信窖舱矾尽钙糖厦耸轩愁玉痕接碳灼莽褐蚕韧吻罚炒脊镁住豪琵耐菏罐哩半攒刀汲蚜哆沈膝姬财件懂呕藏汞公转盎秽垂半而厄杰说弹趣巍申瞅朵轴肠艘蚁污朱垦训总丈樱癌涅健尚欠臣盐血讽

4、铣卵缝筛度猩斟养省奇佛腋变酞寺矿矛赦葡愉缉讯坍悸迈蓄剖渗酱猛秤祈兵枕抄颈达联败捧懒申胖讥娩韭吧乳泞烽废焕跑蹄紫凿首叉雨禾撒矫息夺高啤灵索步滚掩丙宪松倔隅湾都饿埔陇美主货赢守怕叁颐钱藉祭项恒惹伟武另淬绑娟贫讣概幢领角告摊努手煌啃杨造盈姐显珐迪润壬助蚜你雏遏戈莽砚屡陆换论绒栖唉年烛纳饰即迢资谩搏菏倍澜滇拇婉基于PowerPCLinux的ELF格式分析第一部分ELF格式概述ELF(ExecutableandLinkableFormat)是一种对可执行文件、目标文件以及库文件使用的文件格式,它在Linux下成为标准文件已经有很长

5、的一段时间,代替了早期的a.out格式。ELF格式的一个优点是同一个文件格式可以用在LinuxKernel支持的所有体系结构之上。这不仅简化了用户空间工具程序的创建,也简化了内核自身的程序设计,比如必须为可执行程序生成装载例程时。但是文件格式相同并不意味着不同系统上的程序之间存在二进制兼容性,例如FreeBSD和Linux都使用ELF作为二进制格式,但是FreeBSD上的程序不能运行于Linux上,因为两者在系统调用机制和系统调用语义方面仍然有所不同,反之亦然;如果想让二者之间的程序能够运行,必须要有一个中间仿真层。同样

6、PowerPC平台编译的ELF程序,也不能在X86平台的机器上运行,反之依然,因为两者的体系结构是完全不同的。但是由于ELF格式的存在,相同体系结构上的ELF程序本身的相关信息,以及程序的各个部分在二进制文件中的编码方式都是相同的。Linux不仅将ELF用于用户空间应用程序和库,还用于工具模块,另外Linux内核本身也是ELF格式。备注:ELF文件是一种开放的格式,其规范可以自由获得。ELF文件有三种类型:可重定位文件:也就是通常称的目标文件,后缀为.o;共享文件:也就是通常称的库文件,后缀为.so;可执行文件:本文主要

7、讨论的文件格式;总的来说,可执行文件的格式与上述两种文件的格式之间的区别主要在于观察的角度不同:一种称为连接视图(LinkingView),一种称为执行视图(ExecutionView)。示意图如下:第二部分布局和结构ELFHeader:除了用于标识ELF文件的几个字节之外,ELF文件头还包含了有关文件类型和大小的信息,以及文件加载后程序执行的入口信息等等,总之ELF头部是一个关于本ELF文件的路线图(roadmap),从总体上描述文件的结构。程序表头(ProgramHeadTable):向系统提供了可执行文件的数据在进

8、程虚拟地址空间中组织方式的相关信息,它还表示了文件可能包含的段的数目,段的位置以及用途。各个段SegmentX(X=1,2,…)和节SectionX(X=1,2,…):保存了与文件相关的各种形式的数据,例如符号表、实际的二进制代码、固定值或者程序使用的数值常数。节头表(SectionHeaderTable):包含了与

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

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

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