Ubuntu下Android APK反編譯與重新編譯

來源:互聯網
上載者:User

標籤:

1.反編譯APK檔案

反編譯APK需要利用ApkTool工具,

https://bitbucket.org/iBotPeaches/apktool/downloads

http://ibotpeaches.github.io/Apktool/install/

 

 

 

 

 

 

 

 

 

1,按照安裝說明,先右鍵下載apktool的指令碼,再下載最新的apktool

2,先確保你的系統安裝了32位平台(依賴)庫,如果你ubuntu是13.10後版本,可以試試

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6

 

3,將下載的apktool_2.0.0.jar改名為apktool.jar

4,將兩個檔案拷貝到/usr/local/bin目錄,這一步相當於配置環境變數了,可以在任意目錄運行

sudo cp -i apktool.jar /usr/local/binsudo cp -i apktool /usr/local/bin

 

5,添加許可權

sudo chmod +x apktool sudo chmod +x apktool.jar 

 

上面幾步完成後就可以找個APK 反編譯下了

 

命令:apktool d (apk路徑) -o(輸出檔案夾)

注意:一定要加 -o這個參數,否則命令報錯

 

反編譯成功後就會在outdir目錄下產生一系列目錄,我們可以通過修改smali檔案代碼實現apk的修改。

通常做法是在res資來源目錄擷取到某資源的索引值,然後在smali目錄中搜尋含有該索引的.smali檔案

grep -r 0x7f0c004e /home/lionel/outdir/smali/*

 

該命令是在指定目錄下遍曆檔案和子檔案夾中包含 ‘0x7f0c004e‘的檔案

 

2.重新打包APK檔案
apktool b /home/lionel/outdir

 

編譯指定目錄下檔案,預設產生的apk在同目錄的dist檔案夾中

 

但現在還不能安裝在手機裡,新產生的apk需要簽名

keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000

 

 keytool -genkey -v -keystore (產生的密鑰名稱) -alias (密鑰別名) -keyalg RSA -validity (有效期間)

 

jarsigner -verbose -keystore android.keystore -signedjar /home/lionel/outdir/MobilesSafe.apk /home/lionel/outdir/dist/MobilesSafe.apk android

 

 jarsigner -verbose -keystore (上面產生的密鑰名稱) -signedjar (簽名後的APK路徑)    (簽名前的APK路徑) (密鑰android.keystore的別名)

 

簽名後發現安裝時仍提示INSTALL_PARSE_FAILED_NO_CERTIFICATES

 

解決方案:添加參數-digestalg SHA1 -sigalg MD5withRSA

 

jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore android.keystore -signedjar /home/lionel/outdir/MobilesSafe.apk /home/lionel/outdir/dist/MobilesSafe.apk android

 

 

 

 

 

安裝成功!

Ubuntu下Android APK反編譯與重新編譯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.