PIN_GetContextReg を使用してレジスタの値を取得し、それを変更して PIN_SetContextReg を使用して元に戻したいと考えています。PIN のマニュアルには、整数レジスタでそれを行うことができると書かれていますが、REG_INST_PTR 以外のすべてのレジスタでエラーが発生します (Register ** は PIN_GetContextReg/PIN_SetContextReg ではサポートされていません)。
ここにコードがあります
UINT32 old_val;
UINT32 new_val;
old_val = PIN_GetContextReg(ctxt, REG_EAX);
new_val = old_val ^ mask;
PIN_SetContextReg(ctxt, REG_EAX, new_val);
PIN_RemoveInstrumentation();
PIN_ExecuteAt(ctxt);
この場合、レジスタ EAX を試していますが、同じエラーが発生します。ピン3.0を使用しています