準備作業
我們首先需要下載三樣工具:apktool,jd-gui,dex2jar,
反編譯獲取體育軟體源代碼
需要用到三樣工具:apktool,jd-gui,dex2jar,具體下載鏈接如下所示
apktool: https://bitbucket.org/iBotPeaches/apktool/downloads/
jd-gui: http://www.ddooo.com/softdown/75946.htm
dex2jar: https://sourceforge.net/projects/dex2jar/
下載完成后解壓下來,能得到三個目錄,如下所示(另外兩個暫且不管,是后面生成的,還有我自己創建的):

然后打開命令列視窗,執行以下命令,注意路經換成自己需要反編譯的apk安裝包路徑:
java -jar apktool_2.6.0.jar d -f C:\Users\86153\Desktop\反編譯工具\base.apk -o MMTS
執行完這個命令才能得到上圖中的MMTS檔案夾,里面的內容如下所示:

其中assets里有許多圖片檔案,其他檔案里還有xml檔案,properties檔案,yml檔案,smali檔案,本人主要不是安卓開發端的,對這些檔案不是很懂,但是我用visual studio打開它們都可以正常查看,這些檔案不是我要關心的,我主要想看這個安裝包的java代碼,接下來就得用到另外兩個工具了:
dex2jar-2.0
將需要編譯的apk檔案后綴改為.rar或者.zip,解壓得到以下內容

別的不關心,我們dex2jar-2.0要用到的只有上圖中的classes.dex檔案,將獲取到的classes.dex放到之前解壓出來的工具【dex2jar-2.0】檔案夾內,如下圖所示
在命令列下定位到dex2jar.bat所在目錄,輸入"d2j-dex2jar classes.dex",效果如下:

就能得到生成的classes-dex2jar.jar包,我們要查看java代碼就看它的了
jd-gui
打開這個工具:jd-gui.exe,然后把jar包拖進去,

當然,用jd-gui查看不方便,你也可以匯出成檔案夾:File→save all sourse,匯出的是壓縮包,解壓,然后用visual studio打開就能查看了,visual studio讀代碼真的太好用了

程序中遇到的問題
在打開jd-gui的時候,可能會提示你使用jdk1.7.0的版本,這時候我的解決方法是在環境變數修改成jdk1.7.0,當然首先安裝jdk1.7.0在電腦上,這是jdk1.7.0的下載鏈接:https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html
選擇自己電腦的對應版本,我以window 64為例,我安裝在之前我的電腦的jdk相同的目錄,便于環境變數切換,只需要改下%JAVA_HOME%的路徑就可以了,


查看我自己的jdk版本是否切換成功:

成功了,正常打開jd-gui,用完把%JAVA_HOME%換回來就可以了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/352256.html
標籤:其他
