[請益] ARM反組譯器撰寫
反組譯器並不難寫,反正照spec的規則解譯就好...
不過有一個問題,ARM的指令有32bits跟16bits THUMB兩種,
而且混雜...我在讀取的時候有辦法正確決定該用何種方式去解譯嗎?
還是說如果要正確分別該用何種方式解譯,就需要運行模擬計算了?
目前階段是想先弄解譯器而已..
我跑模擬器解譯分成ARM.THUMB跟auto三種選項,
不知道它的auto機制是啥?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.70.79.227
→
04/14 01:26, , 1F
04/14 01:26, 1F
→
04/14 01:28, , 2F
04/14 01:28, 2F
我有看到那個阿... 只是如此一來該怎麼解讀 不就是runtime期間才能決定了??
所以模擬器的auto實際上是真的跑下去動態解釋嗎?
※ 編輯: erspicu 來自: 61.70.79.227 (04/14 01:40)
→
04/14 01:43, , 3F
04/14 01:43, 3F
看來應該真的是沒辦法了 我讀的不是elf 是gba的bios dump檔
我讀到的資料是寫說 if bit0 of Rn = 1 是 thumb , = 0 是 ARM
但是Rn暫存器內容跑到那行時候多少 似乎是執行期間才能決定的
※ 編輯: erspicu 來自: 61.70.79.227 (04/14 01:48)
→
04/14 09:25, , 4F
04/14 09:25, 4F
八字沒一撇,只是想先寫個disassembler出來而已,驗證無誤後,再往後發展...
網路上其實很多sources可以參考..但是一些東西想自己去慢慢搞懂,慢慢弄出來,
而不是改port別人的東西.
※ 編輯: erspicu 來自: 61.70.79.227 (04/14 12:25)
Soft_Job 近期熱門文章
22
73
PTT職涯區 即時熱門文章