參考 https://blog.csdn.net/Nobody_else_/article/details/83996441java
今天記一個nb的技術,就是APP反編譯。所謂反編譯就是把別人的apk的源代碼給反編譯出來,讓程序員可讀,固然但願各位能尊重每個開發者的勞動成果,不要拿去作壞事。有些時候咱們想學習借鑑別人APP某些功能是怎麼實現的,應用到了哪些技術,用這個就能夠。linux
step1:工具包下載程序員
反編譯用到的工具:工具
1. apktool --------獲取圖片等資源的工具包學習
官網下載網址:https://bitbucket.org/iBotPeaches/apktool/downloads/ui
2. dex2jar --------將apk中的classes.dex編譯成jar的工具包spa
官網下載網址:http://sourceforge.net/projects/dex2jar/files/.net
3. jd-gui --------獲取圖片等資源的工具包blog
官網下載網址:http://jd.benow.ca/圖片
到這裏工具都下載好了(建議下載到同一個目錄,解壓到當前文件夾)。
step2:反編譯步驟
拿一個打包好的apk,把後綴名.apk改成.rar 或 .zip,而後步驟解壓:
打開
把classes.dex(它就是java文件編譯再經過dx工具打包而成的)複製到dex2jar-2.0的目錄下:
Win+R打開DOS命令窗口輸入cmd 回車再cd進入該文件的目錄:
輸入:d2j-dex2jar.bat classes.dex 若是你是linux或mac系統的話就要用d2j-dex2jar.sh這個文件。
沒報錯,說明你的路徑沒問題,通過這步驟你的dex2jar-2.0的目錄下會多出一個這樣的文件:
如今確定看不了源碼,這裏就要用到了咱們的代碼查看器JD-GUI
辛辛苦苦開發出來的APP不想被反編譯怎麼辦?開發者能夠進行代碼混淆。。