ELF x86可执行入口点

时间:2011-07-16 15:20:19

标签: elf ptrace

void  *entrypoint;
/*virtual address of process*/
fscanf(debuggedfile, "%p", &entrypoint);

其中debuggedfile是int入口点所在偏移处的elf文件的流。 当我使用ptrace(PTRACE_PEEKTEXT,0,入口点,0)时,它返回-1

2 个答案:

答案 0 :(得分:1)

ELF是二进制文件格式。 fscanf用于从文本文件中读取。请改为fread

答案 1 :(得分:0)

如果您正在编写解析ELF文件的代码,我建议 使用像libelf这样的标准库而不是编码你的 手动拥有自己的ELF解析器。

这样你就可以让libelf处理出现的极端情况 偶尔,例如,使用扩展段编号的ELF对象。

正在开发BSD licensed的活跃开源项目 和[{3}} libelf的实现---请你选择。