0

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を使用しています

4

1 に答える 1