我正在学习考试,我有以下问题: 在ELF头中,据说文件的入口点是0x8049058
代码是:
section .data
x: dd 3
_start: mov ecx, [x]
...
...
... ;more code
问:运行时x的虚拟地址是什么?
正确答案是0x0849054
有人可以说清楚这个吗? 如果x将如下,它是否仍然在同一地址?section .bss
x: resb 4
section .data
_start: mov ecx, [x]
...
...
... ;more code
哪里有一个切入点“拿”我? 哪些部分接近它?
答案 0 :(得分:3)
如果你是迂腐的话,没有足够的信息可讲。如果我们假设$messageid
是入口点(这是典型的,但不是强制性的),那么假设_start
的大小是4个字节,x
和{之间没有其他内容{1}},x
的地址显然是_start
。请注意,在x
部分中设置入口点是不正常的。
对于第二个代码,除非您检查二进制文件中的标题,否则无法确定_start - 4
与.data
或.bss
的关系。