void *entrypoint;
/*virtual address of process*/
fscanf(debuggedfile, "%p", &entrypoint);
其中debuggedfile是int入口点所在偏移处的elf文件的流。 当我使用ptrace(PTRACE_PEEKTEXT,0,入口点,0)时,它返回-1
答案 0 :(得分:1)
ELF是二进制文件格式。 fscanf
用于从文本文件中读取。请改为fread
。
答案 1 :(得分:0)
如果您正在编写解析ELF文件的代码,我建议 使用像libelf这样的标准库而不是编码你的 手动拥有自己的ELF解析器。
这样你就可以让libelf处理出现的极端情况 偶尔,例如,使用扩展段编号的ELF对象。
正在开发BSD licensed的活跃开源项目 和[{3}} libelf的实现---请你选择。