Skip navigation

DSpace JSPUI

DSpace preserves and enables easy and open access to all types of digital content including text, images, moving images, mpegs and data sets

Learn More
DSpace logo
English
中文
  • Browse
    • Communities
      & Collections
    • Publication Year
    • Author
    • Title
    • Subject
  • Search TDR
  • Rights Q&A
    • My Page
    • Receive email
      updates
    • Edit Profile
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
Please use this identifier to cite or link to this item: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/35129
Title: Android的Dex反編譯器設計與實作:型態推斷部分
Android’s Dex Decompiler: Type Inference Part
Authors: Wei-Yu Hsieh
謝韋佑
Advisor: 陳俊良
Keyword: 反編譯器,型態推斷,Android,dex,逆向工程,
Decompiler,Type Inference,Android,dex,Reversed Engineering,
Publication Year : 2011
Degree: 碩士
Abstract: 目前Android系統上的應用程式主要是由Java撰寫並編譯成為class檔案,而後再經由Android的dx編譯成dex檔案。dex檔案格式為一個register-based指令集以及為了行動裝置所最佳化而成的格式。目前對於dex的二元轉換工具仍然不夠豐富,而Java二元轉換工具多年來已經累積相當多的成果,因此將dex檔案加入豐富的Java二元轉換工具是目前的主要目標。
由於dex檔案在產生時並未將區域變數的型態資訊寫入,因此若要將dex檔案加入Java二元轉換工具中,其中一個重要的目標就是要將區域變數的型態補足。另外因為Android系統指令對於型態的寬鬆態度,使得型態推斷更加的困難,本論文提出並且實作了一個可以讀取dex檔案並且轉換為中介格式,最後實作出可以將區域變數的型態資訊補足的type inferencer,經由實驗,我們也成功的將數個程式從dex檔案格式反編譯成java檔案格式。
Currently, Android applications are mainly written in Java language. After using javac to compile these Java source files into Java class files, we use Android dx compiler to convert these Java class files to dex files furthermore. Dex file is a kind of register-based instruction set and optimized for mobile devices. At present, the binary transformations for dex are not rich, but the binary transformation for Java are developed for many years. Therefore, our main target is joining dex file to Java binary transformations.
Dx compiler would not write local variable type information into dex file in codegen step. If we want to join dex file to Java binary transformation family, the main problem is that we need to infer the local variable type. Furthermore, Android system takes a lazy attitude about type. It causes type inference in dex more difficult. In this thesis, we provide and implement a type inferencer which can read dex file, transform it to the intermediate representation, and infer the local variable type. We also successfully decompile program from dex file format to the java file format by our experimentation.
URI: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/35129
Fulltext Rights: 有償授權
Appears in Collections:資訊工程學系

Files in This Item:
File SizeFormat 
ntu-100-1.pdf
  Restricted Access
1.71 MBAdobe PDF
Show full item record


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

社群連結
聯絡資訊
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