我正在開發一個項目,我想將一些自定義操作代碼添加到x86並在QEMU中運行它們。我已經想出瞭如何修改QEMU中的代碼生成,以便在QEMU中使用「假」操作碼進行彙編指令並對其進行操作。如何使用'假'指令創建x86二進制文件
但是,我遇到麻煩的部分是我如何真正去創建一個僞指令的二進制文件。我想過的唯一方法是添加一些db
語句,然後手動編寫指令。例如:
xor EAX, EBX
db 0xf1,0x32,0x55,0x00
mov EBX, EAX
(假設db有足夠的字節作爲實際指令)。這實際上是否會編譯一個二進制文件,在第二行中定義的字節被視爲指令?
有沒有一些更優雅的方法呢?由於我將修改QEMU以支持這些更改,因此我並不受指令格式的約束 - 我只需要讓OP代碼被QEMU的代碼生成器識別,其餘的我可以制定,但是我想要。
啊,不錯的提示。我正在查看QEMU中的代碼生成器,試圖找出我們未使用的內容,但我會仔細檢查這一點。 – KarateSnowMachine 2011-06-09 15:03:04