1. Download "dex2jar-0.0.9.11.zip".
2. Download "jd-gui-3.3.zip".
3. Uncompressed.
4. shell:/> dex2jar.bat xxx.apk => output xxx.jar
5. Launch jd-gui.exe then open the jar file.
Done.
==============================================================
目的: 反組譯 Android APK package。若要一般的資訊,aapt 工具就可以達到。
延伸用途:
- 修改此 APK 的內容 (參數、語系等)
- 取得 Activity name / Class name
- 取得 AndroidManifest.xml 資訊
- 了解 resource 內容
- APK+ODEX => Single APK
Study 路徑: Signed apk -> deassembly (XML / .dex / .jar / .smali / ...) -> Interpret -> modify / get information -> rebuild -> signed
APK build flow (From Android Dev Guide page) |
使用工具:
- dexdump
- dedexer
- smali (APK deassembly / APK+ODEX)
- axml2xml.pl / wbxml2xml / AXMLPrinter2.jar (Decode raw XML file)
- apktool => 似乎最好用
- XMLDump
- AXMLPrinter2
- dex2jar / jar2java (JD-GUI) => 似乎最好用
- ddx1.5.jar
- aapt
參考 URL:
- [Good] http://jserv.blogspot.com/2010/05/android.html
- [Good] http://tw.myblog.yahoo.com/blue-comic/article?mid=666&prev=667&next=664
- [Good] http://jjnnykimo.pixnet.net/blog/post/31851139
- [Good] http://www.th7.cn/Article/bc/Android/201007/393121.html
- [Good] http://webcache.googleusercontent.com/search?q=cache:uMR0Ur_MvWQJ:www.mask.org.tw/blog/page/2/+mask+deassembly+apk&cd=1&hl=zh-TW&ct=clnk&gl=tw
- [Good] http://www.geeka.net/2010/05/android-apk-odex-classes-dex/
- [Good] http://www.ophonesdn.com/article/show/38
- http://mylifewithandroid.blogspot.com/2009/01/disassembling-dex-files.html
- http://ysl-paradise.blogspot.com/2008/10/android_27.html
- http://w26.javaeye.com/blog/501553
- http://zeaster.blogspot.com/2007/11/how-to-decompile-dex-file-on-android_28.html
- http://code.google.com/p/android-apktool/
- http://developer.android.com/guide/publishing/licensing.html
- http://stackoverflow.com/questions/2097813/how-to-parse-the-androidmanifest-xml-file-inside-an-apk-package
- http://blog.lytsing.org/archives/250.html
- http://www.cuteandroid.com/open-source-android-apps-for-developers-android-apktool
- http://zenz.ourcafe.mobi/archives/188
- http://www.eoeandroid.com/thread-28882-1-1.html
Keyword:
- reengineering
- decompile / decompiling
- deassembly / Disassembling
- Unpacking the APK
- DEX to java source code
- Decoding the raw XML files
- APK 反組譯 / 反編譯
- APK 代碼分析
- Reverse engineering of APK
沒有留言:
張貼留言