ELF
youngseaz
这个作者很懒,什么都没留下…
展开
-
手拆ELF(三,节区头表)
节区头表节区头的数据结构为Elf32_Shdr,大小为40字节,其数据结构如下:/* Section header. */typedef struct{ Elf32_Word sh_name; /* Section name (string tbl index) */ Elf32_Word sh_type; /* Section type */ Elf32_Word sh_flags; /* Section flags */ Elf32_Addr sh_addr; /*原创 2020-10-19 23:53:59 · 683 阅读 · 0 评论 -
手拆ELF32(二,程序头表)
目录程序头表节区头表程序头表一个可执行文件或者共享目标文件的程序头表是一个数组,一个数组元素存储一个程序头表条目,每一个程序头表条目描述一个段或者其它信息,这些段或信息为程序运行做准备。一个文件段包含多个节区,程序头只有在可执行文件或者共享对象文件中有意义。程序头数据结构如下,其大小为32字节/* Program segment header. */typedef struct{ Elf32_Word p_type; /* Segment type */ Elf32_Off原创 2020-10-18 23:29:37 · 1306 阅读 · 0 评论 -
ptrace入坑指南
ptrace描述通过ptrace(),一个进程可以观察和控制另一个进程的执行,并检查和更改跟踪程序的内存和寄存器。它主要用于实现断点调试和系统调用跟踪。ptrace函数原型long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data);ptrace用法PTRACE_TRACEME形式:ptrace(PTRACE_TRACEME,0 ,0 ,0)描述:本进程被其父进程所跟踪。其父进程应该希望跟踪子进程原创 2020-10-17 16:12:18 · 931 阅读 · 0 评论 -
手拆ELF32(一,文件头)
EFL32ELF头#define EI_NIDENT (16)typedef struct{ unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */ Elf32_Half e_type; /* Object file type */ Elf32_Half e_machine; /* Architecture */ Elf32_Word e_version; /* Object file vers原创 2020-10-13 15:39:15 · 2143 阅读 · 2 评论