2015-01-01 96 views
0

我正在嘗試反彙編原始Xbox的BIOS代碼,但我在設置涉及保護模式分段的外部參照時遇到問題。例如,指令:IDA中的保護模式分段

seg001:FFCE JMP大遠的ptr 8:0FFFFFE00h

段選擇8引用與段基0,因此所得到的地址的GDT條目應0FFFFFE00h,但IDA正在處理它作爲實模式細分市場基礎;因此,它會產生無效的外部參考,以解決位於指令中間的0FFFFFE80h

我試過手動輸入的指令,但後來我沒有得到一個Xref的地址。我可以將選擇器字節修補爲零,但我希望有更好的方法。是否可以告訴IDA爲給定的段選擇器使用自定義基址?如果沒有,是否有比補丁更好的解決方法?

回答

0

在找到一些IDC文件後,我找到一個名爲SetSelector的函數,它設置給定選擇器的基地址。所以,我需要做的只是在腳本中手動添加一個呼叫,以便將選擇器0x8的基準設置爲0:

SetSelector(0x8, 0);