0 推荐在OpenEuler系统中实现
1 编辑并运行2.3.1中的代码,要求在不修改t2.c 和 t1.c中main函数中的代码的情况下,程序运行结果是你的后四位学号。提交代码和运行结果截图。
2 网上学习objdump命令,提交不少于5篇博客链接和微信读书上的图书链接,并给出你认为最好的讲解资源的链接或图书名及章节
3 用objdump分析第1步中的可执行文件和目标文件,提交你的分析截图以及如何和教材讲解内容对应的,比如obj文件的文件头,代码段,数据段等,可执行文件如何链接mysum的。

解决过程

0.本测试在树莓派openeuler中完成。

1.更改代码中g的值为1307(我的学号后四位为1310)即可完成。

输出截图

2.3.1测试

代码截图

2.3.1测试

第一篇比较直观,深入浅出,链接:https://blog.csdn.net/wwchao2012/article/details/79980514

这一篇用例比较好,链接:https://blog.csdn.net/zoomdy/article/details/50563680

这一篇区分了x86反汇编的两种编码方式,链接:https://floral.github.io/2021/04/21/objdump反汇编对于小白的一个坑/

这一篇就比较原汁原味了(纯英文),链接:https://www.howtoforge.com/linux-objdump-command/

基础但是比较齐全的教程,链接:https://man.linuxde.net/objdump

使用命令objdump -d a.out >> test.txt进行反编译,反编译结果如下:

2.3.1测试

使用命令objdump -x a.out >> header.txt显示所有的头文件,反编译结果如下:

2.3.1测试

数据段

2.3.1测试

代码段

2.3.1测试

引用mysum

2.3.1测试

相关文章:

  • 2021-12-24
  • 2021-08-04
  • 2021-11-05
  • 2021-09-23
  • 2021-05-26
  • 2021-11-27
  • 2022-02-07
  • 2022-12-23
猜你喜欢
  • 2021-08-19
  • 2022-01-14
  • 2021-08-14
相关资源
相似解决方案