文章目录
一、mmap 简介
二、mmap 函数作用
一、mmap 简介
----
mmap 函数的作用是 将 文件 映射到 内存中 , 映射的单位必须是 PAGE_SIZE ;
mmap 函数引入头文件...void* start : 如果为 0 就是让系统自动分配 , 如果不为 0 , 则由用户指定分配的地址 ;
size_t length : 申请分配内存的大小 ;
int prot : 内存保护标志 , 如...PROT_READ | PROT_WRITE | PROT_EXEC , 表示 可读 | 可写 | 可执行 ;
int flags : 映射对象类型标志位标志位 , 如 MAP_ANONYMOUS |...mmap 系统调用之前 , 执行了大量的指令操作 ; 如果在普通应用中 , 这是没有问题的 ;
② 逆向工具应用 : 但是逆向的场景中 , 动态库是侵入目标进程的 , 第一个侵入的动态库 , 风险很大..., 会破坏目标进程内存结构 , 因此加载的指令尽量少 , 这里直接使用系统调用 , 简洁高效安全 ;
在注入进程的动态库中 , 指令越复杂 , 越容易出错 ;