Android安全-代碼安全1-ProGuard混淆處理

來源:互聯網
上載者:User

標籤:

  Android安全-代碼安全1-ProGuard混淆處理

ProGuard簡介

ProGuard是一個SourceForge上非常知名的開源項目。官網網址是:http://proguard.sourceforge.net/。

Java的位元組碼一般是非常容易反編譯的。為了很好的保護Java原始碼,我們往往會對編譯好的class檔案進行混淆處理。ProGuard的主要作用就是混淆。當然它還能對位元組碼進行縮減體積、最佳化等,但那些對於我們來說都算是次要的功能。

Android Eclipse開發環境與ProGuard

在Android 2.3以前,混淆Android代碼只能手動添加proguard來實現代碼混淆,非常不方便。而2.3以後,Google已經將這個工具加入到了SDK 的工具集裡。具體路徑:SDK\tools\proguard。當建立一個新的Android工程時,在工程目錄的根路徑下,會出現一個proguard 的設定檔proguard.cfg。也就是說,我們可以通過簡單的配置,在我們的elipse工程中直接使用ProGuard混淆Android工程。

具體混淆的步驟非常簡單。首先,我們需要在工程描述檔案default.properties中,添加一句話,啟用ProGuard。如下所示:

  1. # This file is automatically generated by Android Tools. 
  2. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 
  3. # This file must be checked in Version Control Systems. 
  4. # To customize properties used by the Ant build system use, 
  5. # "ant.properties", and override values to adapt the script to your 
  6. # project structure. 
  7.  
  8. # Project target. 
  9. target=android-8 
  10. proguardproguard.config=proguard.cfg 

這樣,Proguard就可以使用了。當我們正常通過Android Tools匯出Application Package時,Proguard就會自動啟用,最佳化混淆你的代碼。

匯出成功後,你可以反編譯看看混淆的效果。一些類名、方法名和變數名等,都變成了一些無意義的字母或者數字。證明混淆成功!

Android安全-代碼安全1-ProGuard混淆處理

聯繫我們

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