真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android反編譯與防止被反編譯-創(chuàng)新互聯(lián)

泉貿(mào)軟件工作室原創(chuàng)、原帖地址:http://www.svch0st.com/cont.asp?id=38

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(成都創(chuàng)新互聯(lián)).為客戶提供專業(yè)的綿陽服務(wù)器托管,四川各地服務(wù)器托管,綿陽服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:13518219792

Android App使用Java語言進(jìn)行開發(fā),因此十分容易就可以被反編譯出近乎原始的程式碼。也因?yàn)檫@個(gè)特性,許多人在寫Android App的時(shí)候會(huì)喜歡去反編譯別人寫好的程式,再挪為己用,雖然很不道德,但這也是一種有效提升軟體開發(fā)速度的方法。但換個(gè)角度想,如果是自己寫的程式碼被盜走的話,這就對(duì)自己不太有利了,所以學(xué)習(xí)如何防止自己程式碼被偷也是一個(gè)很重要的課題。 Android App的安裝檔案是副檔名為.apk的檔案,可以直接在Android環(huán)境下執(zhí)行,將App安裝好。若要將App上架到Google Play上,必須要先將Android專案輸出成簽署(Signed)過的apk檔。再將這個(gè)apk檔案上傳到Google Play上發(fā)佈出去。將App上架后,其他使用者就可以透過Google Play直接安裝該App。 很明顯地,提供apk檔案給別人安裝App,是十分危險(xiǎn)的事情,因?yàn)閍pk檔案只要經(jīng)過簡單的步驟(之后會(huì)提到)就可以反編譯出原始的程式碼。但如果覺得將App上架到Google Play上就一定安全的話,那就大錯(cuò)特錯(cuò)了,因?yàn)閺腉oogle Play上安裝的App,也是有辦法拿到它的apk檔。

反編譯Android程序

首先要取得Android App的apk檔案,接著使用「dex2jar」來將它轉(zhuǎn)為jar檔。

https://code.google.com/p/dex2jar/

dex2jar在命令列下使用,命令格式如下:

d2j-dex2jar.sh apk路徑

Android 反編譯與防止被反編譯

執(zhí)行命令后,稍等一下子,jar檔案就產(chǎn)生出來了。

接著再依照這篇文章來反編譯jar檔案。

防止Android程式被反編譯

反編譯Android程式的方式可以不必學(xué),但防止反編譯的方式一定要會(huì)!
Android ProGuard

Android SDK中提供了ProGuard來保護(hù)與最佳化Android App的安裝檔。身為一位稱職的Android程式設(shè)計(jì)師,在Android App發(fā)佈或是上架之前一定要使用ProGuard來保護(hù)程式碼,避免程式遭有心人士偷走。
啟用ProGuard

在Android專案根目錄下,有個(gè)「project.properties」檔案,找到以下字串,并移除掉前面的「#」,即可啟用ProGuard。

    #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

這行文字的意思是告訴Eclipse在編譯Android的時(shí)候使用proguard對(duì)程式碼進(jìn)行混淆,并指定混淆的參數(shù)設(shè)定檔。預(yù)設(shè)的Android專案會(huì)在開頭加上「#」,表示此行文字為注解,也就是沒有開啟ProGuard。


使用ProGuard

啟用ProGuard之后,往后使用Android的Export工具來輸出專案,都會(huì)自動(dòng)把程式碼給混淆。無須再進(jìn)行而外的動(dòng)作。


啟用ProGuard可能會(huì)遭遇的問題

由于有些程式是不可以被混淆的,例如有使用到「Class.forName」這類方法來呼叫的套件??梢越逵尚薷腁ndroid專案目錄下的ProGuard設(shè)定檔「proguard-project.txt」,加入-keep參數(shù)來保留指定的程式碼不被混淆。通常-dontwarn參數(shù)也會(huì)跟-keep合用,目的是要讓ProGuard不要去檢查指定Class下程式碼的錯(cuò)誤(當(dāng)然若有出現(xiàn)錯(cuò)誤再加也不遲)。

有許多程式用了ProGuard之后會(huì)出現(xiàn)型別轉(zhuǎn)換錯(cuò)誤,可以加上「-keepattributes Signature」參數(shù),保留程式的簽名。

以下是proguard-project.txt的設(shè)定參考:

-keep class com.google.** { *; } -dontwarn com.google.**
 
-keep class com.facebook.** { *; } -dontwarn com.facebook.**
 
-keep class org.apache.** { *; } -dontwarn org.apache.**
-keepattributes Signature

混淆后的程式碼,如果被反編譯,就沒什麼人看得懂啦!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


標(biāo)題名稱:Android反編譯與防止被反編譯-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://weahome.cn/article/dpigcd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部