1. 程式人生 > >Android Protect-0.ApkTool重新打包和Auto-Sign簽名

Android Protect-0.ApkTool重新打包和Auto-Sign簽名

APK重打包

使用dex2jar+jd-gui我們可以把.dex轉換成.jar並檢視檔案, 通過ApkTool我們可以反編譯apk為apk資料夾,兩者對比,我們就能改動apk資料夾中相關的地址smali檔案或資原始檔。 修改之後,我們需要使用ApkTool重打包apk資料夾,輸入編譯命令: apktool b xxx (xxx為剛才反編譯的資料夾),成功後會在xxx資料夾下的dist資料夾下生成打包好後的apk檔案

F:\hgyTools\Android\ApkTool>apktool.bat b app-release-unsigned0
I: Using Apktool 2.3.4
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Users\ADMINI~1\AppData\Local\Temp\ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...

這裡有一個錯誤提示:

S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), 

意為無法寫入到這個目錄C:\Users\Administrator\AppData\Local\apktool\framework,手動新建下相關的資料夾即可解決。 接著再重新執行反編譯命令就可以成功了:

F:\hgyTools\Android\ApkTool>apktool.bat b app-release-unsigned0
I: Using Apktool 2.3.4
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...

dist下生成相關的apk檔案: 在這裡插入圖片描述

APK簽名

重新打包好後的apk是沒有簽名的,所以無法安裝,現在給apk簽名。 將打包好的apk 拷貝到解壓好的auto-sign資料夾下,執行命令:

F:\hgyTools\Android\Auto-Sign>java -jar signapk.jar testkey.x509.pem testkey.pk8 app-release-unsigned.apk app-release-unsigned-signed.apk

生成帶簽名的app-release-unsigned-signed.apk