15-(入侵) 进程的地址空间

15-(入侵) 进程的地址空间

状态机里有什么

registers

memory

gdb就可以暂停查看

1
fa1e0ff3
1
f3 0f 1e fa

在内存中显示以小端为首

地址空间是否可读写

proc/pid/maps里都给出了,连续的一段一段的,每一段都给出了权限

1
2
3
4
5
564af047d000-564af0494000 r--p 00000000 08:20 31005                      /usr/bin/zsh
564af0494000-564af0552000 r-xp 00017000 08:20 31005 /usr/bin/zsh
564af0552000-564af056d000 r--p 000d5000 08:20 31005 /usr/bin/zsh
564af056d000-564af056f000 r--p 000ef000 08:20 31005 /usr/bin/zsh
564af056f000-564af0575000 rw-p 000f1000 08:20 31005 /usr/bin/zsh

更可读

1
pmap [pid]

创建不同的数组,分配的内存是不一样的

在栈上,在堆上,

不进入内核的系统调用gettimeofday(2)

从操作系统读数据

只有syscall指令可以改变地址空间(增删改)

看看man 5 proc手册

mmap可以分配内存,控制权限

python执行时遇到ModuleNotFoundError: No module named 'hexdump'0

原因是sudo执行时的环境变量不一样

wsl显示全为0

gdb调试,可以把要调试的程序的内存空间放进自己的内存空间

变速齿轮

hook,劫持相关代码