【问题标题】:Could you explain what mmap function do?你能解释一下 mmap 函数的作用吗?
【发布时间】:2019-02-26 22:09:48
【问题描述】:

这个汇编代码是做什么的?我已经分析了代码并在这一刻停下来。 EDX 是 arg prot。 ECX 是 arg 长度。 ESI 是 arg 标志。我对吗?但无论如何我无法理解它的作用。

seg000:00000057                 push    ebp
seg000:00000058                 xor     ebp, ebp
seg000:0000005A                 xor     edi, edi
seg000:0000005C
seg000:0000005C 
seg000:0000005C                 dec     edi
seg000:0000005D                 mov     esi, 22h 
seg000:00000062                 mov     edx, 7    
seg000:00000067                 mov     ecx, 1000h      
seg000:0000006C                 xor     ebx, ebx        
seg000:0000006E                 mov     eax, 0C0h       
seg000:00000073                 int     80h       ;mmap      
seg000:00000075                 pop     ebp
seg000:00000076                 mov     edi, eax

【问题讨论】:

    标签: assembly system-calls mmap


    【解决方案1】:

    它调用mmap(NULL, 0x1000, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 创建单页虚拟内存并返回该页的虚拟地址。如果您想详细了解 mmap 的作用,请参阅 https://linux.die.net/man/2/mmap

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 2019-05-16
      相关资源
      最近更新 更多