Android學習心得(13) --- Android代碼混淆(1)

來源:互聯網
上載者:User

標籤:目的   article   parent   源檔案   解壓   tle   guard   --   部落格   

我在部落格上發表一些我的Android學習心得,希望對大家能有協助。
這一篇我們講述一下最新的ADT環境下怎樣進行Android混淆

在新版本號碼的ADT建立項目時。混碼的檔案不再是proguard.cfg。 而是project.properties和proguard-project.txt。 我們把之前配置都配置好了。proguard已經在包括在sdk中了。

環境配置參考 Android學習心得(1) --- MAC下Android環境的搭建

建立一個項目的時候,會自己主動產生project.properties和proguard-project.txt檔案。 無需自己建立,假設你的項目無法自己主動產生,那麼你就要檢查一下你的ADT版本號碼了 

假設須要對項目進行全域混碼,僅僅須要進行一步操作:將project.properties的中“#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt”把“#”去掉就能夠了。


 因為apk檔案的混淆往往是伴隨著檔案的壓縮和代碼的最佳化問題,混淆的apk檔案解壓轉換為jar檔案。  使用ju-gui開啟以後有一個不太引人注意的細節問題---當中找不到資源檔類。

利用這一特性。我們能夠直接利用apktool解壓apk檔案。對其smali檔案的檔案名稱進行分析。 假設存在一個或以上的資源的smali檔案,就能夠證明該apk檔案沒有混淆,反之。則說明已經是混淆過了的檔案。 我們將沒有混淆和混淆過的apk分別使用Eclipse匯出並簽名

參考Android學習心得(12) --- APK簽名keystore

分別通過dex2jar和jd-gui查看源碼


明顯的發現,第二個顯示的源碼已經被混淆過了,產生了a,b,c三個類。R.class已經不見了。

另外一個明顯的差別是,混淆過後的apk大小是未混淆的apk三分之中的一個,代碼往往經過壓縮和最佳化。

Android學習心得(13) --- Android代碼混淆(1)

聯繫我們

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