apktool反解apk包


APKTool

APKTOOL是解包 APK 文件最常用的工具,許多 APK 工具箱都集成了 apktool。它可以完整解包 APK,解包后你可以看到 APK 里面的聲明文件、布局文件、圖片資源文件、由 dex 解包出來的 smali 文件、語言文件等。如果你要漢化、修改界面、修改代碼的話,apktool 可以幫你一站式完成。

常用命令

需要在 CMD 命令窗口中輸入命令來使用,常用命令如下:

解包 APKJava -jar apktool.jar d *.apk -o out 
其中 *.apk 是被解包的 APK 文件名, out 是輸出目錄名稱

重新打包java -jar apktool.jar b out 
out 就是上面的輸出目錄

導入 framework-res.apk 架構文件java -jar apktool.jar if frameword-res.apk 
需要將 framework-res.apk 文件放在 apktool.jar 的相同目錄下,導入架構文件可以解決一些調用了系統框架資源的 APK 包解包失敗的問題

操作過程

  1. 下載解壓工具包 
    這里寫圖片描述
  2. 將需要反編譯的APK文件放到該目錄下,打開命令行界面(運行-CMD) ,定位到apktool文件夾,輸入以下命令:apktool.bat d -f *.apk out或者用上邊的命令也可以! 
    這里寫圖片描述
  3. 將要反編譯的APK后綴名改為.rar或則 .zip,並解壓,得到其中的額classes.dex文件(它就是java文件編譯再通過dx工具打包而成的),將獲取到的classes.dex放到之前解壓出來的工具dex2jar-0.0.9.15 文件夾內,在命令行下定位到dex2jar.bat所在目錄,輸入dex2jar.bat classes.dex在改目錄下會生成一個classes_dex2jar.jar的文件,然后打開工具jd-gui文件夾里的jd-gui.exe,之后用該工具打開之前生成的classes_dex2jar.jar文件,便可以看到源碼了。

注意:有些APK在打包的時候做過混淆處理,反編譯之后里邊好多都是以abc之類的命名,但是里邊的邏輯還是很清晰的,能給我們提供一個實現的思路。

Smali2Java

我在搜索類似的的這種反編譯的工具時,發現了這個Smali2Java,它不用在命令行輸入命令來進行,直接解壓后打開Smali2JavaUI.exe運行,將要反編譯的APK文件直接打開即可。 
這里寫圖片描述

 

apktool下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM