Mac下反編譯和重新編譯打包APK

2021-07-10 22:50:29 字數 1376 閱讀 7777

解壓dex2jar壓縮包。

終端中cd命令到dex2jar目錄。

將apk檔案改字尾apk為zip,將其中的classes.dex檔案拷貝到dex2jar目錄

在終端執行./d2j-dex2jar.sh classes.dex (出現permission denied異常,是哪個檔案報的就改哪個檔案的許可權。比如我這裡出現的是d2j_invoke.sh,修改許可權即可:chmod 777 d2j_invoke.sh)

這樣反編譯**成功,目錄中會生成乙個classes-dex2jar.jar檔案,將這個檔案用jd-gui開啟,即可看到原始碼(可能給是混淆過的)。

chmod保證apktool命令不會出現permission denied

完成!這樣閱讀manifest.xml以及drawable或anim中的xml檔案不會是混淆的亂碼了。

上圖反編譯過程中,會在/users/dengpan/library/apktool/framework/目錄中生成乙個1.apk的快取檔案,有時反編譯失敗,刪除它再試試。

注意:當前terminal終端在哪個目錄,那麼apktool反編譯的資源目錄就在哪個目錄下。

其中d是decode的意思,表示我們要對xx.apk這個檔案進行解碼。那除了這個基本用法之外,我們還可以再加上一些附加引數來控制decode的更多行為

- -f 如果目標資料夾已存在,則強制刪除現有資料夾(預設如果目標資料夾已存在,則解碼失敗)。

- -o 指定解碼目標資料夾的名稱(預設使用apk檔案的名字來命名目標資料夾)。

- -s 不反編譯dex檔案,也就是說classes.dex檔案會被保留(缺省會將dex檔案解碼成smali檔案)。

- -r 不反編譯資源檔案,也就是說resources.arsc檔案會被保留(缺省會將resources.arsc解碼成具體的資源檔案)。

使用命令jarsigner -verbose -sigalg sha1withrsa -digestalg sha1 -keystore 簽名檔案名 -storepass 簽名密碼 待簽名的apk檔名 簽名的別名給apk簽名。

參考文章:

apk反編譯和重新打包

相信每位玩機的人對apk檔案都不陌生。你可能每天都與apk檔案打交道,無論是安裝和解除安裝有用的應用工具 外掛程式 好玩的遊戲等等。你可曾知道這些每天都伴隨著你的apk檔案是什麼嗎?怎樣對它們作些修改呢?比如說 對英文版進行漢化 修改功能 修改文字描述 去掉廣告等等。本文介紹apk的基本知識 結構 ...

Android程式反編譯 重新編譯和簽名的方法

b size large anti droid簡介 size b 安卓apk反編譯 重編譯和簽名工具,基於apktool v1.4.3開發。圖形化介面操作,簡單易用,是安卓程式反編譯 破解 漢化的得力助手。歡迎免費使用 size large b 專案位址 b size align center im...

mac下反編譯流程

3.在終端中輸入指令 chmod x usr local bin apktool 4.測試是否成功 apktool v 5.找到apk所在的資料夾開啟終端輸入指令 apktool d apk名稱 之後會在當前目錄下生成乙個同名資料夾 6.解壓dex2jar 2.0.zip得到dex2jar 2.0,...