檢測到我正在使用基於PIN的模擬器來測試一些新的架構修改。我需要用我的模擬器測試帶有兩個操作數(寄存器和內存位置)的「新」指令。在X86代碼中插入一個未定義的指令,以便被英特爾PIN
由於使用GCC機器描述僅添加一條指令非常繁瑣,因此使用NOP或未定義指令似乎很合理。 密碼很容易能夠使用INS_IsNop
來檢測NOP指令,但它會干擾NOP自然添加到代碼中,它也沒有操作數或單個內存操作數。
剩下的唯一選擇是使用和未定義的指令。未定義的指令永遠不會干擾代碼的其餘部分,並且可以通過PIN使用INS_IsInvalid
來檢測。
問題是我不知道如何使用GCC內聯彙編添加未定義的指令(帶操作數)。我怎麼做?
從你的問題來看,這裏的問題是在gcc中發出一個未定義的指令。從你的評論看來,另一個問題是解碼指令。你有沒有這個問題? – nitzanms