如何检查一个部分是代码还是数据(.elf)?
How to check if a section is code or data(.elf)?
我正在编写一个脚本来分析 .elf 的内存。
更具体地说:代码大小和数据大小。
GNU 大小实用程序列出了部分大小。
>mips-mti-elf-size.exe -A -x -t file.elf
section size addr
.sec(1)
.sec(2)
.
.sec(i)
.sec(n)
Total 0x-----
我还可以检查 .text 总大小或 .data 总大小。
有没有办法决定每个 sec(i) 是代码还是数据?
使用mips-mti-elf-readelf.exe:
mips-mti-elf-readelf.exe -S file.elf
这将 return:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .secName 9014d000 00d000 000480 00 AX 0 0 4096
...
使用 Flg:如果 X 启动就是代码。
我正在编写一个脚本来分析 .elf 的内存。 更具体地说:代码大小和数据大小。 GNU 大小实用程序列出了部分大小。
>mips-mti-elf-size.exe -A -x -t file.elf
section size addr
.sec(1)
.sec(2)
.
.sec(i)
.sec(n)
Total 0x-----
我还可以检查 .text 总大小或 .data 总大小。 有没有办法决定每个 sec(i) 是代码还是数据?
使用mips-mti-elf-readelf.exe:
mips-mti-elf-readelf.exe -S file.elf
这将 return:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .secName 9014d000 00d000 000480 00 AX 0 0 4096
...
使用 Flg:如果 X 启动就是代码。