
操作系统
文章平均质量分 84
bunner_
这个作者很懒,什么都没留下…
展开
-
ret2dir漏洞复现
参考的博客:linux kernel pwn 之 ret2dir 学习ioctl系统调用过程(深入Linux(ARM)内核源码)ret2dir漏洞复现原理ret2dir是利用内核空间和用户空间的隐性地址共享来实现对一些SMEP和SMAP保护机制进行绕过SMAP保护机制保证了内核只可以对内核空间里的数据进行访问,而physmap恰好处在内核空间中,却可以映射用户空间映射的物理地址SMEP保护机制保证了内核态下无法执行用户空间的代码liinux x86_64内存布局低128TB为用户空间原创 2021-03-19 23:52:06 · 481 阅读 · 0 评论 -
Linux二进制分析-ELF格式分析及符号重定位
ELF文件类型ET_NONE:未知类型。ET_REL:重定位文件。通常是还未被链接到可执行程序中的一段位置独立的代码,例如linux中的.o格式的文件。ET_EXEC:可执行文件。ET_DYN:共享目标文件。ELF类型为dynamic,意味着该文件被标记为了一个动态的可连接的目标文件,也称为共享库,这类共享库会在程序运行时被装载并链接到程序的进程镜像中。ET_CORE:核心文件,在程序崩溃或进程传递了一个SIGSEGV信号(分段违规)时,会在核心文件中记录整个进程的镜像信息。ELF文件结构原创 2021-03-04 17:10:08 · 1102 阅读 · 1 评论 -
进程的虚拟内存
程序和进程的区别程序是一个静态的概念,它就是预先编译好的指令和数据集合的一个文件(狭义上讲它就是一个可执行文件)。进程是一个动态的概念,它是程序运行时的一个过程。虚拟地址空间程序在被运行起来后,也即进程,拥有自己独立的虚拟地址空间,这个虚拟地址空间的大小由计算机硬件平台所决定,具体的是由CPU地址线的数量所决定,例如16位CPU决定了其虚拟地址空间的地址为 0 到 216−12^{16}-1216−1,也即 0x0000 ~ 0xFFFF,而32位CPU则具有32位寻址能力。...原创 2021-02-21 22:38:14 · 815 阅读 · 3 评论