Android反編譯

參考 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不想被反編譯怎麼辦?開發者能夠進行代碼混淆。。