問題描述
英特爾 PIN 二進制檢測工具中的 16 個通用寄存器如何表示 (How are the 16 General Purpose Registers represented in Intel PIN binary instrumentation tool)
我知道第一個 8 個通用寄存器在 PIN 中是如何表示的,例如 REG_GAX、REG_GBX 等。但是我似乎無法在用戶手冊中找到寄存器 r8 到 r15 是如何表示的。
參考解法
方法 1:
REG_GAX
and REG_GBX
are shorthand registers, for example REG_GAX
is REG_RAX
in 64‑bit or REG_EAX
in 32‑bit.
Excerpt from source/include/pin/gen/reg_ia32.PH
, see also the file on github:
REG_GAX = REG_RAX, ///< eax on a 32 bit machine, rax on 64
As R8 up to R15 don't exist on 32‑bit architecture, they have no shorthand except their own name (REG_R8
, REG_R9
, ...)