在Linux上解码mmap()标志

在Linux上解码mmap()标志,linux,mmap,Linux,Mmap,我正在对一个ELF二进制文件进行反向工程,在程序集中,我可以看到mmap是在flags参数设置为0x22的情况下被调用的 如何解码此标志所代表的内容 根据:,可以通过在标志之间执行OR操作来形成标志值 因此,0x22可以如下所示: 0x20 || 0x2 通过在Linux上查找头文件,我认为应该是:MAP|u PRIVATE | MAP|u ANONYMOUS 对吗 头文件中还提到了一些其他标志 谢谢。不,必须使用按位或非逻辑OR,所以 #include <sys/mman.h>

我正在对一个ELF二进制文件进行反向工程,在程序集中,我可以看到mmap是在flags参数设置为0x22的情况下被调用的

如何解码此标志所代表的内容

根据:,可以通过在标志之间执行OR操作来形成标志值

因此,0x22可以如下所示:

0x20 || 0x2
通过在Linux上查找头文件,我认为应该是:MAP|u PRIVATE | MAP|u ANONYMOUS

对吗

头文件中还提到了一些其他标志


谢谢。

不,必须使用按位或非逻辑OR,所以

#include <sys/mman.h>
如果在strace程序下运行二进制文件,它将显示用于syscall args的符号值。这是解读这些论点的最简单方法

(MAP_PRIVATE | MAP_ANONYMOUS)