關於反編譯APP問題
阿新 • • 發佈:2018-11-12
一.反編譯需要使用的輔助軟體
1. apktool:獲取資原始檔,提取圖片檔案,佈局檔案,還有一些XML的資原始檔
2.dex2jar:將APK反編譯成Java原始碼(將classes.dex轉化為jar檔案)
3.jd-gui:檢視2中轉換後的jar檔案,即檢視Java檔案
二、下載完畢後,開始我們的反編譯之旅
1.首先登場的apktool把要反編譯的apk放到apktool根目錄下,點開cmd.exe輸入命令apktool.bat d filename.apk![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181112101339985.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9oYWk2OTU5NDM4MjA=,size_16,color_FFFFFF,t_70)
2.使用dex2jar將classes.dex轉換成jar檔案
開啟cmd,來到這個目錄下:鍵入:d2j-dex2jar.bat classes.dex
接著我們可以看到,生成了一個jar包:
好的,轉換完成!
3.使用jd-gui檢視jar包中的Java程式碼:
好的,開啟jd-gui的資料夾
開啟後,開啟我們3中轉換後的jar包,我們可以看見裡面的程式碼:
csdn的客戶端竟然不混淆程式碼...可能是本著開源的精神吧,給我們學習程式碼吧!一般的話,apk釋出都會 進行混淆,然後進行一些加密,或者使用第三方的加密平臺,用的比較多的"愛加密",有興趣的也自行百度檢視更加詳細的介紹!
注:部分借鑑runnnoob因為我反編譯的是kotlin版本沒辦法使用後續步驟。