Android中对APK进行反编译
概述:
? ? 其實反編譯很簡單,只是利用一些工具包和一些基本命令行的命令對apk文件進行反編程,沒有什么高深的技術。下面就讓我們一起來學習一下反編譯的技術。
注:本博客反編譯方法,僅供參考學習使用,禁止用于非法和商業等用途,謝謝!
準備工作:
下載以下反編譯工具包:
1.apktool:http://download.csdn.net/detail/vipzjyno1/7025111
2.dex2jar:http://download.csdn.net/detail/vipzjyno1/7025127
3.jd-gui:http://download.csdn.net/detail/vipzjyno1/7025145
待反編譯的apk文件:helloworld.apk
工具功能介紹:
apktool:資源文件獲取,可以提取出圖片文件和布局文件進行使用查看
dex2jar:將apk反編譯成java源碼(classes.dex轉化成jar文件)
jd-gui:查看APK中classes.dex轉化成出的jar文件,即源碼文件
反編譯過程:
1.獲得資源和資源文件:
我們是利用apktool來獲得資源和資源文件的。
(1)首先將我們待反編譯的文件置于apktool目錄下。
(2)然后在cmd下切換操作目錄為apktool。例如我的操作目錄如下:
(3)輸入反編程指令:apktool.bat d -f helloworld.apk ?helloworld
此次反編譯過程會有如下正確過程:
反編譯完成,apktool目錄下會生成一個helloworld的目錄:
打開此目錄我們就可以清楚地看到反編譯的結果了,如下:
至次,獲得資源和資源文件的操作已經全部結束。下面就讓我們來看看怎么反編譯獲得java源碼。
2.獲得java文件:
獲得java源碼文件會稍微有一些麻煩,因為這個過程需要用到兩個工具包——dex2jar和jd-gui.
第1步:重命名helloworld.apk為helloworld.rar或是helloworld.zip等可以解壓文件.
第2步:解壓此文件到helloworld文件夾,獲取classes.dex文件
第3步:將classes.dex文件置于dex2jar目錄下,并切換工作目錄至dex2jar下,輸入指令:dex2jar.bat classes.dex
第4步:第3步完成之后會生成一個classes_dex2jar.jar文件
進行到這里的時候離成功只有一步之遙了。
第5步:打開jd-gui目錄下的jd-gui.exe文件—>打開剛剛生成的classes_dex2jar.jar文件—>查看源碼
參考:
http://blog.csdn.net/vipzjyno1/article/details/21039349
總結
以上是生活随笔為你收集整理的Android中对APK进行反编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android UI编程进阶——使用Su
- 下一篇: Android从普通发送和接收短信到对短