1.要准備的三個工具
- apktool:獲取資源文件,提取圖片文件,布局文件,還有一些XML的資源文件
- dex2jar:將APK反編譯成Java源碼(將classes.dex轉化為jar文件)
- jd-gui:查看2中轉換后的jar文件,即查看Java文件
2.使用apktool反編譯APK獲得圖片與XML資源:
把下載好的apktool解壓后,我們可以看到下述文件(忽略那兩個csdn,一個是反編譯的apk,一個是反編譯后文件):
接下來,雙擊cmd.exe,來到命令行,鍵入: apktool.bat d csdn.apk 即可,Enter回車:
然后就可以看到生成的csdn文件夾,里面就有我們想要資源
好的,就是XML資源到手了是吧!圖片素材也到手了!
3.使用dex2jar將classes.dex轉換成jar文件:
把下載好的dex2jar文件夾解壓,apk解壓后中的classes.dex復制到dex2jar.bat所在的目錄下:
打開cmd,來到這個目錄下:鍵入:d2j-dex2jar.bat classes.dex
接着我們可以看到,生成了一個jar包:
好的,轉換完成!
4.使用jd-gui查看jar包中的Java代碼:
好的,打開jd-gui的文件夾
打開后,打開我們3中轉換后的jar包,我們可以看見里面的代碼:
csdn的客戶端竟然不混淆代碼...可能是本着開源的精神吧,給我們學習代碼吧!一般的話,apk發布都會 進行混淆,然后進行一些加密,或者使用第三方的加密平台,用的比較多的"愛加密",有興趣的也自行百度查看更加詳細的介紹!