Android反編譯apk並重新打包簽名(Mac環境)

來源:互聯網
上載者:User

標籤:local   cap   9.png   源檔案   data   下載   tor   jarsigner   code   

工具下載
  • apktool :https://ibotpeaches.github.io/Apktool/install
  • dex2jar:https://github.com/pxb1988/dex2jar
  • jd-gui:http://jd.benow.ca
  根據apktool網站提示的下載方法,右擊wrapper script,連結儲存為apktool,不要帶拓展名  然後點擊find newest here下載apktool.jar,選擇第一個下載最新版本
  下載完把apktool_2.3.3.jar重新命名為apktool.jar,然後把apktool.jar和apktool一起拷貝到/usr/local/bin路徑下
    
這樣環境就配好啦,開啟終端,輸入 apktool命令,看到以下輸出說明apktool配置成功
  建立個MyTest目錄方便管理,隨便放個test.apk進去作為測試包
   反編譯

終端輸入cd /Users/zachary/zachary/MyTest進入到測試apk所在目錄,輸入apktool d test.apk開始反編譯

  編譯結束可以看到MyTest目錄下多了個test檔案夾,裡面就是反編譯以後的產物,我們想要的AndroidManifest.xml和res/.等資源檔  此時資源檔反編譯就完成了,下面繼續反編譯java代碼,這是就要用到dex2jar和 jd-gui
下載完dex2jar和 jd-gui解壓一下就可以了,複製到MyTest目錄方便操作
  終端進入MyTest目錄,輸入命令 sh dex2jar-2.0/d2j-dex2jar.sh test.apk(如果提示Permission Deny許可權問題,先輸入命令 chmod +x dex2jar-2.0/d2j-dex2jar.sh改一下許可權就好了)  運行結束,在MyTest目錄會組建檔案test-dex2jar.jar,就是我們需要的java代碼壓縮檔  右擊用jd-gui開啟(或者先開啟jd-gui再把test-dex2jar.jar拖到jd-gui自動匯入,就可以看到java代碼啦   回編譯

剛才我們執行apktool d test.apk反編譯得到了test目錄

   回編譯就是執行命令 apktool b test
  成功之後,test目錄下會產生build和dist目錄  build目錄下存放的是打包後的dex檔案和資源檔(和apk解壓後一樣一樣的) image.pngdist目錄下存放的是重新打包後的apk檔案
  重新簽名

複製簽名檔案到dist目錄下方便操作

   終端進入dist目錄,執行命令 jarsigner -verbose -keystore [your_key_store_path] -signedjar [signed_apk_name] [usigned_apk_name] [your_key_store_alias] -digestalg SHA1 -sigalg MD5withRSA
欄位說明:
  • [your_key_store_path]:密鑰所在位置的絕對路徑
  • [signed_apk_name]:簽名後安裝包名稱
  • [usigned_apk_name]:未簽名的安裝包名稱
  • [your_key_store_alias]:密鑰的別名
因為我們把秘鑰和test.apk放在同一路徑,所以密鑰所在位置的絕對路徑直接填testkey就好啦,macjenkinskey是我的秘鑰別名,別誤會(邪惡.jpg)  輸一下密碼,看不到輸入的,開始簽名   簽完名後,在dist目錄下就可以看到簽完名後的apk了 後話

反編譯的時候,也可以把test.apk的拓展名改成test.zip解壓出來

 把classes.dex複製到dex2jar-2.0路徑下   終端進入dex2jar-2.0路徑下,執行命令 ./d2j-dex2jar.sh classes.dex  同樣可以得到classes-dex2jar.jar  反編譯,再回編譯,同樣可以得到classes.dex,就在這個路徑下                收工.png

 

Android反編譯apk並重新打包簽名(Mac環境)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.