博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
了解内核的装入地址和入口地址,vmlinux.bin与vmlinux
阅读量:2420 次
发布时间:2019-05-10

本文共 897 字,大约阅读时间需要 2 分钟。

了解内核的装入地址和入口地址

利用readelf

#mips-linux-uclibc-readelf -e vmlinux

............

Entry point address:               0x802bd000

...........

[Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al

[ 0]                   NULL            00000000 000000 000000 00      0   0  0

[ 1] .text             PROGBITS        80060000 000800 1eb704 00  AX  0   0 2048

...........

可以看到.text段装入地址为0x80060000,内核入口地址为0x802bd000

使用objdump

也可以获得这些信息, -d参数反汇编vmlinux可以得到装入地址, -f参数可以得到入口地址。

查看System.map文件

#cat System.map | grep _text 

#cat System.map | grep kernel_entry

vmlinux.bin执行:

[root rootfsBuild]# objdump -t vmlinux.bin 2>/dev/null | grep "_etext$"

[root rootfsBuild]# objdump -h vmlinux.bin 2>/dev/null | grep " .text "

 

vmlinux执行:

[root rootfsBuild]# objdump -h vmlinux 2>/dev/null | grep " .text "

  0 .text         001f6490  80060000  80060000  00002000  2**5

[root rootfsBuild]# objdump -t vmlinux 2>/dev/null | grep "_etext$"

80256490 g       *ABS*      00000000 _etext

转载于:https://my.oschina.net/rinehart/blog/59590

你可能感兴趣的文章
大数据智能:金融行业用户画像实践教程-CSDN公开课-专题视频课程
查看>>
自然语言处理实战——LSTM情感分析-CSDN公开课-专题视频课程
查看>>
Gin使用的json包
查看>>
Gin的路由
查看>>
golang函数传参中可变参数和切片相互转化
查看>>
如何安全地退出goroutine
查看>>
context.Context
查看>>
优先队列
查看>>
redis深度历险学习笔记--基础与应用篇
查看>>
单链表翻转
查看>>
检查表达式中的括号是否匹配
查看>>
一道关于 goroutine 的面试题
查看>>
信号量的使用方法
查看>>
Redis 缓存穿透、击穿、雪崩
查看>>
RabbitMQ(1): docker-compose安装rabbitmq及简单使用Hello World
查看>>
leetcode 525. 连续数组
查看>>
利用序列化实现对象的拷贝
查看>>
is-a,has-a,like-a是什么
查看>>
简单工厂、工厂、抽象工厂的对比
查看>>
J2EE的体系架构——J2EE
查看>>