![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Elf
人而已
这个作者很懒,什么都没留下…
展开
-
关于利用GCC生成文件类型的说明
如果要生成ET_EXE类型的文件,那么必须要加-static,即gcc test.c -o test -static。原创 2020-06-20 17:43:22 · 212 阅读 · 0 评论 -
关于ptrace 请求类型
request:请求执行的行为,可能选择有 PTRACE_TRACEME //指示父进程跟踪某个子进程的执行。任何传给子进程的信号将导致其停止执行,同时父进程调用wait()时会得到通告。之后,子进程调用exec()时,核心会给它传送SIGTRAP信号,在新程序开始执行前,给予父进程控制的机会。pid, addr, 和 data参数被忽略。 PTRACE_PEEKTEXT, PTRACE_PEEKDATA //从子进程内存空间addr指向的位置读取一个字,并作为调用的结果返回。Linux内.转载 2020-06-20 16:52:39 · 546 阅读 · 0 评论 -
一个利用ptrace实现的简单调试器
《Linux二进制分析》中提到:ptrace 默认会覆盖 mmapa 或 mprotect 的权限,也就意味着用户可以使用 ptrace 往 text 段中写入内容,即便 text 段是只读的。但如果内核采用 pax 或者 grsec 进行了 mprtotect 的限制,加固了段的访问权限,就不可以使用 ptrace 进行修改了。这是一个安全特性。作者在一篇关于 ELF运行时感染的论文(http://vxheavens.com/lib/vrn00.html),在论文中讨论了几种绕过这些限制进行代码注入的方法原创 2020-06-21 09:50:20 · 537 阅读 · 1 评论 -
关于整形对应的*_t类型长度
按照posix标准,一bai般整形对应的*_t类型为:1字节 uint8_t;du2字节 uint16_t;4字节 uint32_t;8字节 uint64_t。在Ubuntu18.0的64位系统中,elf.h包含的Elf64_Half表示uint16_t,即只占两个字节。原创 2020-06-16 22:48:15 · 434 阅读 · 0 评论