Java逆向編譯器的設計與製作

(胡志慶, 民國94年6月)

逆向編譯是將低階語言轉換成高階語言。本論文針對Java類別檔進行逆向編譯處理,將控制流程擷取出來,辨認其中的迴域與分域結構,再以指令重組的技術,重新呈現出高階結構化程式。本論文規劃一個逆向編譯的架構,將整個轉換程序分五個步驟:(1)將Java類別檔經“輸入轉換”轉換成類別結構圖;(2)經“反組譯”轉換成JASM指令;(3)經“流程圖建構”,轉換成由JASM指令所組成的流程圖;(4)經“控制流轉換”轉換成低階語法圖;(5)經“高階指令重組”轉換成高階語法圖,最後輸出高階的結構化程式。


回首頁