下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页为什么要反汇编?反汇编文件的生成和解读为什么要反(汇编)
反汇编顾名思义就是汇编的逆过程,将二进制文件反汇编成汇编代码。(arm)-(linux)-objdump是交叉编译工具链里的一个工具,专门用来反汇编的,将二进制代码反汇编成汇编代码来查看。
为什么要反汇编
1.逆向破解。将可执行程序反汇编得到汇编代码,再根据汇编代码推理出整个程序的逻辑。这个不是一般人能做的,能看懂大量汇编语言写的程序都很困难了,更别说反推别人的代码逻辑。
2.调试程序时可以帮助我们理解并(检测)生成的可执行程序是否正常,尤其是在理解链接脚本和链接地址等概念时。
3.(C语言)的源代码编译链接生成的可执行文件再反汇编,可以帮助我们理解C语言和汇编语言的对应关系,有助于深入理解C语言。
反汇编文件的生成和解读
反汇编文件的生成:
上面是一个简单的Makefile,功能是把源文件.S和.c先编译成.o文件,再把.o文件链接成.elf的可执行文件。arm-linux-objdump-D(led).elf>led_elf.dis是将led.elf反汇编成ed_elf.dis。
源文件:star.s是一个汇编文件
star.s是一个学习S5PV210开发板时点亮LED的汇编程序,由开始、点亮、延时和死循环组成,在这里并不关注具体实现的功能,重点是和反汇编生成的文件进行对照。
得到的反汇编文件:led_elf.dis
解析:
1.第一行:led.elf:filef(or)matelf32-littlearm。表明此汇编程序是由led.elf生成,程序是32的小端模式。
2.00000000:前面的00000000是标号的地址,是标号,对应start.s的_start标号。其实标号就相当于C语言中的函数名,在C语言中也可以用函数名代表函数的首地址,在这里可以得到印证。反汇编的标号就是由汇编文件得来的,这样可以方便我们找到反汇编文件和汇编文件对应的部分。
3.整个反汇编文件分为三列,分别对应:指令地址、指令机器码、指令机器码反汇编到的指令。
我们在这里对汇编文件的前几句进行解读:
1.ldrr1,[pc,#112]:此句对应于汇编文件的ldrr1,=0xE0202340。功能是将0xE0202340存到r1(寄存器)中。[pc,#112]代表pc+70地址处的数据(#112是十进制),此时PC指向的是当前地址的下两级,就是pc=0+8,于是pc+70=78。78地址处存放的数据就是e0202340,刚好等于汇编语句要加载的数据0xE0202340。所以ldrr1,[pc,#112]和ldrr1,=0xE0202340实现的是同样的功能。
2.ldrr0,[pc,#112]对应于汇编文件的ldrr0,=0x00111000。解读的方式和上面一致,只是要注意此时PC=4+8。
3.strr0,[r1]语句汇编语句和反汇编语句是一致的。
4.movr2,#4096对应于汇编的movr2,#0x1000,两者是相同的,十进制的4096等于十六进制的0x1000。
补充:1.PC指向当前地址的前两级是因为流水线的存在,不同型号的ARM(芯片)流水线的级数是不同的,但是在反汇编文件里为了统一,都是按照3级流水线处理。
2.为什么向寄存器加载数据,有的是直接加载(movr2,#4096),有的要用相对寻址的方式加载(ldrr1,[pc,#112])?这里涉及到合法立即数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人力资源经理年度履职报告
- 实木吊顶施工方案
- 人工智能在证券市场监管中的法律适用
- 感恩主题班会课件可下载
- 2026年河南省南阳市中考生物试题(文字版含答案)
- 混凝土施工方案
- 河南信阳市固始县2025-2026学年八年级下学期6月期末道德与法治试题(文字版含答案)
- 2026年国际注册内部审计师(CIA)资格考试(内部审计基础)经典试题及答案二
- 2026年甘肃省陇南市徽县城关镇北街社区工作人员考试模拟试题及答案
- 2026年北京市安全员考试模拟试题(含答案)
- 北京市东城区2025-2026学年高一第二学期期末英语试题(含答案)
- 长江船舶经济航速的多维度探究与优化策略
- 2026年初级会计考试题库试题及答案(完整版)
- 2026年建德市新安旅游投资有限公司招聘笔试题库
- 2026抖音生活服务通案
- (正式版)DB5101∕T 158-2023 《公园城市“金角银边”场景营造指南》
- 2025年东航技术招聘笔试历年典型考点题库附带答案详解
- 中国电信 云网融合2035技术白皮书
- 华为干部管理体系
- 感染科艾滋病预防知识培训大纲
- 华为公司管理学核心框架
评论
0/150
提交评论