Proguard android代碼混淆 防止反編譯

來源:互聯網
上載者:User

要達到代碼混淆,讓別人在反編譯你的代碼後看不懂,方法如下:

由於我的SDK和ADT20.0.1都是最新的,所以像網上的提供的使用proguard.cfg混淆代碼的方式我看了,都是一樣的, 
。都說會在專案檔下自動產生proguard.cfg,可是我的怎麼也無法產生,因此也無法使用這個方法,搞得很頭痛。

不過今天在看的時候,發現其實在專案檔下,自動產生了檔案:proguard-project.txt, project.properties 兩個檔案,於是開啟這兩個檔案,在proguard-project.txt中有:

By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
於是開啟這個proguard-android.txt這個檔案,發現內容與上面所說的progurad.cfg差不多,估計功能也一樣。

在檔案project.properties中還有:

To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

意思很明顯,要想使用Proguard去混淆代碼,只要將這句注釋還原就行了#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt。

但是不能只是還原注釋,我在嘗試過之後,只有將這句話 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 放在target=android-10之後,才能產生apk.

 


接著我反編譯匯出的APK,如下:

 

發現在產生的jar檔案中,所有的類名,變數名都變成了a,b,c等無法正確理解的名稱,達到了預期的效果

 作者:Jason_WKS

聯繫我們

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