如今,寫得贊的android項目太多了,這就不得不勾起我們的好奇心了,都說:“好奇心,害死貓!”,但是這些人賊精了,他們把項目都簽名了,搞我們這行的都知道,一旦apk簽了名,我反正就沒有辦法了,但是總有辦法的,哈哈!!
JD-GUI的使用
- http://jd.benow.ca/
- http://java.decompiler.free.fr(這是官網, 目前貌似已經不提供了)
JD-GUI是一個獨立的圖形工具,用于将*.class檔案解碼成.java源代碼的檔案。
1、從http://jd.benow.ca/下載下傳JD-GUI工具:
2、将壓縮包進行解壓如下:
從上圖可看到,内容很簡單,就是一個jd-gui.exe和一個readme.txt,從readme檔案了解到如下内容:
- JD即JavaDecompiler的縮寫,JD的首頁是:http://java.decompiler.free.fr
- JD不需要安裝也不需要配置
-
如何使用JD-GUI
例如,編譯“Object.class”,你可以:
- 在指令行執行:jd-gui.exe Object.class。
- 選擇 “FileàOpen File …”,在檔案中浏覽到 “Object.class”。
- 把“Object.class”拖到“jd-gui”。
- 解除安裝
- Windows:删除 “jd-gui.exe”和“jd-gui.cfg”。
- Linux:删除“jd-gui”應用檔案和“jd-gui.cfg”。
- OSX:把“JD-GUI”應用拖到trash。
附英文解釋:
JD-Eclipse插件
JD-Eclipse是Eclipse的一個插件:http://jd.benow.ca/jd-eclipse/update、http://jd.benow.ca/jd-eclipse/downloads/jdeclipse_update_site.zip
1、點選Eclipse開發工具菜單欄:“Help”–> “Install New Software…”
2、下載下傳JD-Eclipse插件
3、在安裝插件的時候會彈如下視窗,問的是“你信任這些證書嗎?”,我們把它勾上,如下:
dex2jar的使用
1、從https://code.google.com/p/dex2jar/下載下傳dex2jar工具:
這個工具的使用非常簡單,它可以把Android APK中的classes.dex解碼為jar檔案,使用方法如下:
1、 下載下傳工具
2、 解壓,如解壓到:D:\dex2jar-0.0.9.15
3、 把你需要反編譯的apk複制到這個目錄,如我複制了一個abc.apk過去,則此時在cmd指令行敲如下指令:
- $> cd /d D:\dex2jar-0.0.9.15
- $> dex2jar apk
4、指令執行結束後,将會在cd/d D:\dex2jar-0.0.9.15目錄下看到生成了abc.jar,用JD-GUI檢視這個jar檔案即可。
android-apktool的使用
android-apktool可以把AndroidManifest.xml檔案和res目錄下的xml檔案和NinePatch圖檔反編譯到接近原始狀态,反編譯後還可以重新編譯回去。
1、從https://code.google.com/p/android-apktool/下載下傳android-apktool工具:
V1.5.2以後的版本的下載下傳網址為:https://bitbucket.org/iBotPeaches/apktool/downloads
也可以好好閱讀首頁的内容,如下:
1、安裝Apktool工具:
2、使用指令解碼:
- ApktoolOptions即apktool指令的一選項功能說明,當然,在安裝好Apktool之後也可以直接在指令行打“apktool”即可顯示指令幫助。常用選項如下:
- -f 強制删除目标目錄。如果試圖使用反編譯的檔案夾已經存在
- -m 保持盡可能接近原始檔案。防止重建,用于分析
- -s 這将防止反編譯java源代碼。這使APK的classes.dex檔案編譯期間簡單地移動它。如果你隻想編輯資源。這是推薦更快反編譯和重建。
指令使用格式為:apktoold [指令選項] file.apk,經典使用如下:
把apk随意放到一個目錄中,如我把abc.apk放在D:\a\b\ 目錄下,則cmd指令如下:
- cd /d D:\a\b\
- apktool d -f -m -s abc.apk
指令執行完畢後,則會在D:\a\b目錄下看到有一個abc目錄,該目錄下儲存了反編譯的資源檔案。
- FrameworkFiles中的大概意思是,Android應用程式有可能使用Android系統内部的代碼和資源,标準的Android系統你不需要做任何改動,但是一些制作商,比如HTC添加了自己的架構檔案和應用,如你要解碼HTC手機的聯系人應用則需要另外的方法,詳情看網頁。
-
點選“Install”連結(https://code.google.com/p/android-apktool/wiki/Install),将會看到安裝的說明頁面,部分翻譯如下:
快速檢查:
-
Apktool 2.x (1.5.2以後的版本)
是否安裝了Java 1.7 ?
在指令行執行 java -version是否傳回 1.7?
如果不是,請安裝 Java 7 并讓它成為預設。
-
Apktool 1.x (1.5.2之前的版本)
是否安裝了Java 1.6或更高的 ?
在指令行執行 java -version是否傳回 1.6或更高?
如果不是,請安裝 Java 6 或 Java 7 。
安裝 Apktool 2.x
Windows:
- 下載下傳Windows包裝器腳本(右擊,儲存連結apktool.bat)
- 下載下傳apktool-2(在這裡找到最新的)
- 将下載下傳的jar重命名為apktool.jar
- 把(apktool.jar & apktool.bat)移到您的Windows目錄(通常是C://Windows)
- 如果你沒有通路C://windows的權限,你可以把這兩個檔案放在任何目錄,然後将該目錄添加到您的系統環境變量PATH中。
- 嘗試通過指令提示符運作apktool
-
詳細請觀看視訊:http://edu.csdn.net/course/detail/405
百度雲下載下傳位址:http://pan.baidu.com/s/1c0tS8ik
特免責聲明參考:http://blog.csdn.net/android_cai_niao/article/details/43151831
您還可以參考這:http://blog.csdn.net/ithomer/article/details/6727581