【Android】apk反編譯與防止反編譯

來源:互聯網
上載者:User

標籤:

反編譯
相關工具下載:http://pan.baidu.com/s/1bnAkIb9
apktool
這是一個可以對apk進行反編譯和重打包的工具。:http://code.google.com/p/android-apktool/
反編譯apk1.把apk檔案放到apktool解壓目錄下。2.開啟命令列,cd到工具解壓縮目錄,使用“apktool d apk檔案路徑”命令反編譯apk。
apktool反編譯命令輔助指令碼代碼(windows)3.反編譯產生的檔案就在工具解壓縮目錄下,可以看到apk中所有的資源檔、庫檔案、smali檔案(java位元組碼的反組譯碼代碼檔案)。

smali2java是一個可以將smali代碼反編譯成java代碼的工具。:http://www.hensence.com/cn/smali2java/

重打包1.使用“apktool b 檔案夾路徑”命令重新打包apk。
apktool重打包命令輔助指令碼代碼(windows)
2.打包完成後,在目標檔案夾下會多出兩個檔案夾build和dist,其中dist檔案夾中的apk就是重打包後的apk。

dex2jar
這個工具用於反編譯dex檔案,並匯出jar。:http://code.google.com/p/dex2jar/downloads/list1.使用解壓縮工具開啟apk,把classes.dex檔案放到dex2jar的解壓縮目錄下
2.開啟命令列,在dex2jar解壓縮目錄下執行“dex2jar classes.dex”命令,反編譯dex檔案並產生jar。

jd-gui
這個工具用於查看jar檔案中的所有class的源碼。:http://jd.benow.ca/開啟jd-gui.exe,直接把jar檔案拖到工具裡就可以了。
點擊在File—Save All Sources(Ctrl + Alt + S)可以儲存java源碼。
相關工具:http://www.kanxue.com/android/decompilers.htm
防止反編譯
apk加殼工具下載:http://pan.baidu.com/s/1qW5G1Ta該工具來自這裡>>http://www.kanxue.com/bbs/showthread.php?t=177590
加殼說明加殼的全稱應該是可執行程式資源壓縮,是保護檔案的常用手段。 加殼過的程式可以直接運行,但是不能查看原始碼.要經過脫殼才可以查看原始碼。
加殼的另一種常用的方式是在二進位的程式中植入一段代碼,在啟動並執行時候優先取得程式的控制權,做一些額外的工作。大多數病毒就是基於此原理。

apk加殼1.開啟加殼工具(我這裡使用的是windows版的),選擇apk,點擊加密。
2.等待下方提示“加密成功”,會在apk所在目錄產生xx.apk.dexcrypt.apk(加密但未簽名的apk)和dg.apk.dexcrypt.signed.apk(加密並使用預設簽名的apk)。3.一般情況下,我們還需要使用自訂的.keystore檔案對apk進行重簽名。可以使用命令“jarsigner -keystore .keystore檔案路徑 -storepass 別名 -keypass 密碼 -signedjar 簽名apk產生路徑 未簽名apk路徑 別名”對apk進行簽名(需要java環境)

樣本:jarsigner -keystore release.keystore -storepass linchaolong -keypass xxx -signedjar dg-final.apk dg.apk.dexcrypt.apk linchaolong

4.對簽名後的dg-final.apk進行反編譯。可以看到並沒有反編譯成功。

【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.