1. 程式人生 > >apk安裝包反編譯+修改程式碼+替換資源+重新打包+簽名全流程記錄

apk安裝包反編譯+修改程式碼+替換資源+重新打包+簽名全流程記錄

    本文只是先對流程做一個記錄,後續會繼續完善本文,半吊子水平,有錯誤的話,歡迎指正

有個朋友讓幫忙破譯一個apk,雖然大學學過那麼半學期,可是後來基本不在apk領域混了。不過,個人對此還是挺感興趣的,便手癢開搞了。網上查了下,apk反編譯基本就下邊幾個流程:apk安裝包反編譯+修改程式碼+替換資源+重新打包+簽名。

補充:

    進行下列步驟之前:確保安裝了jdk,並且配置好了電腦的環境變數

1.apk反編譯

       這一步主要是為了檢視apk包中的各種資料夾和檔案,包括圖片檔案,程式碼檔案和一些屬性檔案。

       apktool是大家普遍使用的一個工具,網上資源很多,可以自己去搜下,建議是比較新的版本

2.修改程式碼和資源

      經過第一步的操作後,得到的資料夾裡有兩個資料夾,res和smali,res裡邊主要是一些排版和圖片,修改圖片很簡單,直接覆蓋原來資原始檔就行了,smali裡邊就是程式碼了,直接用記事本開啟smali檔案可能是看不太懂,這裡推薦一個工具jd_gui,可以看到比較正常的程式碼,其實,用記事本里開啟看到的也是正常的程式碼,有跡可循的。我這裡只是簡單的改了一些標題,如果你電腦裝了專業的java程式設計工具的話,編輯起來會更方便的。我找到對應的smali檔案,因為我要改的是漢字,在記事本里看,漢字都轉為unicode碼了,改unicode碼就可以了,網上有很多漢字轉unicode的,有的還是線上網頁翻譯的。

3.重新打包成apk檔案

    這裡還是使用apktool,此處的apk檔案還是不能成功安裝到手機的,需要經過簽名

4簽名apk檔案

     這裡我使用了一個工具,auto_sign.

    至此,所有的步驟都ok了,把apk檔案發到手機安裝吧,注意第四步簽名是不可少的,否則程式總是會在最後提示你,安裝未成功。