(註:反編譯不是讓各位開發者去對一個應用破解搞重裝什麼的,主要目的是為了促進開發者學習,借鑒好的代碼,提升自我開發水平。) 2017年12月1日新版本apktool用法: 把要解壓的apk文件放在自己任意一個盤的目錄下,在apk的目錄下,按住shift+滑鼠右鍵打開cmd黑視窗 如下圖:接下來輸入官 ...
2017年棋牌游戲突然就火了,正所謂春江水暖鴨先知本猿處在軟體行業中就能清晰的感受到市場的變化,最近老家那邊也是玩的風生水起,於是最近閑暇時光想到反編譯下這些棋牌軟體,看看代碼實現的思路
(註:反編譯不是讓各位開發者去對一個應用破解搞重裝什麼的,主要目的是為了促進開發者學習,借鑒好的代碼,提升自我開發水平。)
工具介紹:
apktool作用:主要查看res文件下xml文件、AndroidManifest.xml和圖片。(註意:如果直接解壓.apk文件,xml文件打開全部是亂碼)
dex2jar作用:將apk反編譯成Java源碼(classes.dex轉化成jar文件)
jd-gui作用:用來查看APK中classes.dex轉化成出的jar文件,即源碼文件
2017年12月1日新版本apktool用法:
1.下載兩個文件apktool.bat和apktool.jar(這個如果你下載的文件有版本號,比如apktool_2.3.0.jar,就要改名字為apktool.jar),這裡我已經打包好了傳到了我的CSDN(http://download.csdn.net/download/qq_36272276/10140306 ),直接下載就OK了;
2.然後把上面兩個文件解壓放到C:\Windows下麵,放到這裡是可以全局進行使用(我是windows系統,其他系統按照自己的來)如下圖:
3.使用方法
把要解壓的apk文件放在自己任意一個盤的目錄下,在apk的目錄下,按住shift+滑鼠右鍵打開cmd黑視窗 如下圖:
接下來輸入官方給的命令
//當輸入完這兩個命令後
apktool d test.apk
apktool b test
//出現如下圖一樣的說明就反編譯成功了,在他的同級目錄下就多出了一個文件夾,裡面就是反編譯出來的源碼,具體有啥我就不細說了哈,自己慢慢研究吧!
4.Apk反編譯得到Java源代碼
下載上述工具中的dex2jar(http://www.3jyy.cn/ziyuan/dex2jar-2.0.zip) 和 jd-gui(http://www.3jyy.cn/ziyuan/jd-gui-0.3.3.windows.zip) ,解壓
將要反編譯的APK尾碼名改為.rar或則 .zip,並解壓,得到其中的額classes.dex文件(它就是java文件編譯再通過dx工具打包而成的),將獲取到的classes.dex放到之前解壓出來的工具dex2jar-2.0文件夾內,在命令行下定位到d2j-dex2jar.bat所在目錄(現在這個目錄增加了許多命令,一定要看清楚哦),輸入
d2j-dex2jar.bat classes.dex
效果如下:說明就成功了 會看到同級目錄下會生成一個classes_dex2jar.jar的文件,然後打開工具jd-gui文件夾里的jd-gui.exe,之後用該工具打開之前生成的classes_dex2jar.jar文件,便可以看到源碼了,效果如下:
- 通過反編譯,你可以獲知該應用用到了什麼第3方的庫文件,它的代碼是如何編寫的等等。
然而,如果該APK進行了混淆處理,那麼你看到的類文件名稱以及裡面的方法名稱都會以a,b,c….之類的樣式命名,所以你可以想找到你所想得知的界面代碼可能會十分費勁,找到了代碼可能看起來也會很費勁,可是一個大體的思路會獲得,有了這個思路,你就可以自己去嘗試了。