Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/64237
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor陳俊良
dc.contributor.authorPi-Hung Liuen
dc.contributor.author劉必宏zh_TW
dc.date.accessioned2021-06-16T17:36:15Z-
dc.date.available2012-08-17
dc.date.copyright2012-08-17
dc.date.issued2012
dc.date.submitted2012-08-15
dc.identifier.citation[1] What is Android? [Online]. http://developer.android.com/guide/basics/what-is-android.html
[2] (2011, Aug.) Canalys. [Online]. http://www.canalys.com/newsroom/android-takes-almost-50-share-worldwide-smart-phone-market
[3] Mocha, the Java Decompiler. [Online]. http://www.brouhaha.com/~eric/software/mocha/
[4] JAD Java Decompiler Download Mirror. [Online]. http://www.varaneckas.com/jad/
[5] Dava: A tool-independent decompiler for Java. [Online]. http://www.sable.mcgill.ca/dava/
[6] JD | Java Decompiler. [Online]. http://java.decompiler.free.fr/
[7] Fernflower - Java Decompiler. [Online]. http://www.reversed-java.com/fernflower/
[8] Soot: a Java Optimization Framework. [Online]. http://www.sable.mcgill.ca/soot/
[9] Jasmin Home Page. [Online]. http://jasmin.sourceforge.net/
[10] GCJ: The GNU Compiler for Java. [Online]. http://gcc.gnu.org/java/
[11] Dedexer user's manual. [Online]. http://dedexer.sourceforge.net/
[12] smali - An assembler/disassembler for Android's dex format. [Online]. http://code.google.com/p/smali/
[13] dex2jar - Tools to work with android.dex and java.class files. [Online]. http://code.google.com/p/dex2jar/
[14] 謝韋佑, 'Android的Dex反編譯器設計與實作:型態推斷部分,' 台灣大學, 碩士論文 2011.
[15] 王勁智, 'Android的Dex反編譯器設計與實作:控制結構部分,' 台灣大學, 碩士論文 2011.
[16] SableWiki - Soot Users. [Online]. https://svn.sable.mcgill.ca/wiki/index.cgi/SootUsers
[17] Raja Vallée-Rai, Laurie Hendren, Vijay Sundaresan, Patrick Lam, and Etienne Gagnon and Phong Co, 'Soot - a Java Optimization Framework,' in Proceedings of CASCON 1999, 1999, pp. 125--135.
[18] Navindra Umanee, 'Shimple: An Investigation of Static Single Assignment Form,' McGill University, Master thesis 2006.
[19] Arni Einarsson and Janus Dam Nielsen. (2008) A Survivor's Guide to Java Program Analysis with Soot. [Online]. http://www.brics.dk/SootGuide/
[20] Array (Java Platform SE 7). [Online]. http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Array.html
[21] Bytecode for the Dalvik VM. [Online]. http://www.netmite.com/android/mydroid/dalvik/docs/dalvik-bytecode.html
[22] Patrick Lam, Feng Qian, and Ondřej Lhoták. Soot phase options. [Online]. http://www.sable.mcgill.ca/soot/tutorial/phase/phase.html
[23] Java Virtual Machine Specification: Chapter 4. The class File Format. [Online]. http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html
[24] Ondřej Lhoták, 'Spark: A flexible points-to analysis framework for Java,' McGill University, Master thesis 2002.
[25] Ondřej Lhoták, 'Program Analysis using Binary Decision Diagrams,' McGill University, PhD thesis 2006.
[26] Java Virtual Machine Specification, Chapter 6. The Java Virtual Machine Instruction Set. [Online]. http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/64237-
dc.description.abstractAndroid系統已成為智慧型手機的第一大作業系統,其上的應用程式也有許多豐富的內容。Android上的應用程式是由Java撰寫,經過編譯成為class檔案之後,再經過Android SDK的dx工具轉換為dex檔案──它是一個register-based指令集,並且考量到行動裝置的架構及運算能力而制定的程式碼和格式。若能將這些程式碼轉換成為能夠再次利用的型式的話,不論是開發或研究上都會有相當的幫助。由於目前對於dex檔案的轉換工具尚不夠豐富,相對於已經有了許多研究的Java bytecode轉換,若能利用彼此之間的關係將dex檔案的轉換套入已有的Java最佳化資源當中,便能夠使dex檔案也能夠運用豐富的Java bytecode最佳化成果。
在套用既有資源做嘗試時,我們發現了幾個dx轉換時所改變的程式碼模式;由於這些模式都破壞了原來javac所編譯出來的程式碼樣式,因此使得既有的最佳化演算法無法處理。我們整理了這些模式以及它們對程式碼的影響,並且在實際的應用程式上測試了其效果。
zh_TW
dc.description.abstractThe Android operating system had became the largest operating system in the smart phone area, and there are many rich contents in the applications of Android. These applications are written in Java, compiled to class files, and converted to dex files (which contains the register-based bytecode and optimized for the architecture and the limited computation power of smart phones) by the dx tool from Android SDK. Since there are few transformation tools for dex files compared to the abundance of resources of optimizing and analyzing Java class files, making these resource available to dex files can greatly improve the reusability and researching potential of them.
When trying to use these resources to analyze dex files, we find that some optimization transformations done by the dx tool cannot fit in the original analyzing framework, since these transformations break the pattern of javac-complied programs and cannot be recognized by these algorithms. We collected the transformations we found that dx does and measured their effect on real applications.
en
dc.description.provenanceMade available in DSpace on 2021-06-16T17:36:15Z (GMT). No. of bitstreams: 1
ntu-101-R99922076-1.pdf: 329931 bytes, checksum: b770ea35c15d4c37611b536074a365c8 (MD5)
Previous issue date: 2012
en
dc.description.tableofcontents目錄
口試委員審定書 #
誌謝 i
中文摘要 ii
Abstract iii
目錄 iv
圖目錄 v
表目錄 v
1. 簡介 1
1.1 研究動機 1
1.2 目標 3
1.3 論文架構 3
2. 背景知識 4
2.1 從Java到Dalvik 4
2.2 Soot和它的中介語言 4
3. dx造成的問題及解法 9
3.1 尋找問題 9
3.2 multianewarray 10
3.3 陣列或物件初始化的dup 13
3.4 多重分支的return 16
3.5 常數字串擴散 18
4. 結果 23
5. 結論及未來工作 26
5.1 結論 26
5.2 未來工作 26
參考文獻 27
dc.language.isozh-TW
dc.titleDalvik可執行檔之二元轉換zh_TW
dc.titleBinary Transformation of Dalvik Executableen
dc.typeThesis
dc.date.schoolyear100-2
dc.description.degree碩士
dc.contributor.oralexamcommittee甘宗左,徐國偉
dc.subject.keyword二元轉換,Android,dex,dalvik bytecode,最佳化,逆向工程,zh_TW
dc.subject.keywordBinary transformation,Android,dex,dalvik bytecode,optimization,reversed engineering,en
dc.relation.page29
dc.rights.note有償授權
dc.date.accepted2012-08-15
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept資訊工程學研究所zh_TW
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-101-1.pdf
  目前未授權公開取用
322.2 kBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved