« Home

JIT: Write XOR Execute policy [UIC7]

所謂的 W^X (Write XOR Execute) policy 是指不要讓記憶體同時是 PROT_WRITEPROT_EXEC,所以正確的配置方式是(參見 mmap

  1. 先設定成 PROT_READ | PROT_WRITE
  2. 等寫完指令再改成 PROT_READ | PROT_EXEC(像是用 mprotect https://man7.org/linux/man-pages/man2/mprotect.2.html

然後才能真的執行這段程式。