[爆卦]反組譯器是什麼?優點缺點精華區懶人包

為什麼這篇反組譯器鄉民發文收入到精華區:因為在反組譯器這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者erspicu (.)看板Soft_Job標題[請益] ARM反組譯器撰寫時間Sun Apr 1...

反組譯器 在 一六 · 台北 Instagram 的最讚貼文

2021-09-24 17:19:29

《疫情下的最大贏家--串流媒體》 投稿人|林宏廷 校正|沈子晴 ❙串流媒體是什麼? 串流媒體英文翻譯為stream media,是配合現代人們網路播送收看的需求而設計。顧名思義此技術是將多媒體資料壓縮後,透過網際網路使資料分組如水流一般,分批傳送至用戶端。有別於傳統的傳輸方式,不須在使用前下載整...



反組譯器並不難寫,反正照spec的規則解譯就好...

不過有一個問題,ARM的指令有32bits跟16bits THUMB兩種,

而且混雜...我在讀取的時候有辦法正確決定該用何種方式去解譯嗎?

還是說如果要正確分別該用何種方式解譯,就需要運行模擬計算了?

目前階段是想先弄解譯器而已..


我跑模擬器解譯分成ARM.THUMB跟auto三種選項,

不知道它的auto機制是啥?


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.70.79.227
akasan:elf symbol address 最低 bit 如果是 1 就是 thumb 04/14 01:26
akasan:ref: ELF for the ARM Architecture 4.5.3 04/14 01:28
我有看到那個阿... 只是如此一來該怎麼解讀 不就是runtime期間才能決定了??
所以模擬器的auto實際上是真的跑下去動態解釋嗎?
※ 編輯: erspicu 來自: 61.70.79.227 (04/14 01:40)
akasan:就直接讀 elf 的 symbol table 啦 04/14 01:43
看來應該真的是沒辦法了 我讀的不是elf 是gba的bios dump檔
我讀到的資料是寫說 if bit0 of Rn = 1 是 thumb , = 0 是 ARM
但是Rn暫存器內容跑到那行時候多少 似乎是執行期間才能決定的
※ 編輯: erspicu 來自: 61.70.79.227 (04/14 01:48)
eva19452002:你好強哦,可以寫模擬器出來 04/14 09:25
八字沒一撇,只是想先寫個disassembler出來而已,驗證無誤後,再往後發展...
網路上其實很多sources可以參考..但是一些東西想自己去慢慢搞懂,慢慢弄出來,
而不是改port別人的東西.
※ 編輯: erspicu 來自: 61.70.79.227 (04/14 12:25)

你可能也想看看

搜尋相關網站