請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/67345| 標題: | 透過對Java反編譯器的重新設計來做可能的改善 Possible Improvements In Java Decompiler Through Redesigning |
| 作者: | Kai-Fu Chang 張凱富 |
| 指導教授: | 李允中 |
| 關鍵字: | 反編譯器,程式例外錯誤訊息,原始碼,逆向軟體工程,設計模型,程式設計框架, decompiler,exceptions,source code,reverse-engineering,design patterns,framework, |
| 出版年 : | 2017 |
| 學位: | 碩士 |
| 摘要: | 本研究目的在於如何成功將Java bytcode還原成原本的原始碼檔案,然而現今的最新反編譯技術仍無法完全達到此目的。在本篇論文發表的同時,大部分現有的反編譯器在執行的過程中不是產生程式例外錯誤訊息,不然就是無法將原本編譯好的bytecode成功轉換成執行結果相同的高階原始碼、剩餘其他的反編譯器則會直接傾印出類似於組合語言般的程式碼而直接結束反編譯工作的執行。於是在此,為了要達到我們的最終目的,我們對Procyon這個反編譯的程式設計框架執行了逆向軟體工程的分析,而Procyon是我們研究團隊分析認為是目前作為本研究素材的最佳的選擇之一。在我們的研究中,我們透過判別出當作基底的設計模式、重新建構軟體設計需求來分析了Procyon的軟體設計,最後再提出我們認為是項研究進步的重新設計的版本作為本研究的結果。我們的軟體重新設計主要著重於改善執行的程式效率及減少記憶體的浪費,在可預期的將來,我們將實作我們自己的軟體設計將Procyon框架的功能完成,並希望可修改現有的程序錯誤、成功建構一個功能完整的反編譯器來達到研究上的突破。 The ultimate goal of our research is to manage to decompile .class files into Java source code files. However, the current state-of-the-art decompilation technology cannot fully accomplish this goal for several reasons. At the time of publication of this article, most of the current available decompilers either produced exceptions during decompilation or failed to decompile Jave bytecodes to logically equivalent Java source code. The others just resulted in dumping assembly-like code to terminate decompilation. Hence, in order to reach the ultimate goal, we conducted the reverse-engineering on the ”Procyon” decompilation frameworks which we considered the best decompilation tool by far. In our research, we have analyzed the designs of Procyon frameworks by identifying the underlying design patterns, reconstructed the requirements by the designs, and finally proposed our redesign as the results of our research that we think is an improvement. Our redesign mainly improves time efficiency and reduces memory footprints. In the future, we will implement our design to complete Procyon frameworks and hope that we will fix most existing bugs to achieve a breakthrough of successfully building a decompiler that delivers. |
| URI: | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/67345 |
| DOI: | 10.6342/NTU201702564 |
| 全文授權: | 有償授權 |
| 顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-106-1.pdf 未授權公開取用 | 3.07 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
