android 如何保護我們的app(二)(乾貨)

2021-08-02 08:54:09 字數 2108 閱讀 4556

什麼是乾貨啊,不多說了,直接上**一看就懂:

/**

* 檢測安卓程式是不是谷歌應用商店,其他市場也實用

* @param context

* @return true 表示是谷歌應用市場

*/public static boolean checkgoogleplaystore(context context)

/**

* 檢查自己是不是執行在一台模擬器中

* * @return true 表示在模擬上

*/@suppresswarnings("rawtypes")

public static boolean isemulator()

} catch (exception e)

return false;

} @suppresswarnings()

private static string getproperty(class clazz, string string)

throws illegalacces***ception, illegalargumentexception,

invocationtargetexception, nosuchmethodexception )

.invoke(clazz, new object );

}

/**

* @param context

* @return true 已被開啟

*/public static boolean isdebuggable(context context)

為了防止自己的勞動成果被別人竊取,混淆**能有效防止被反編譯,這裡我給大家推薦這篇。我在這就不多說了。

這裡我們只簡單講下ssl自簽名驗證證書

怎麼做:

獲取證書:

2)openssl s_client -showcerts -connect [server name]:443

-file c:\codeproject\codeprojectsslcert.cer 

-keystore c:\codeproject\customtruststore.bks

-storetype bks 

-providerclass org.bouncycastle.jce.provider.bouncycastleprovider

-providerpath c:\codeproject\bcprov-jdk15on-154.jar

-storepass androidcookbook

搞定! 現在, 全部 .bks 檔案都生成了. 稍後將這些檔案複製到安卓應用中res/raw/customtruststore.bks 

4)載入本地truststore到keystore物件中去。

/**

*載入本地truststore到keystore物件中去。

**/private static final string store_password="androidcookbook";//對應上面的storepass

private keystore loadkeystore() throws exceptionfinally

}

5)編寫乙個使用本地truststore的defaulthttpclient的子類。

6) get請求

還有一些關於加密的一些demo,我都放到了github上。

我們應該如何保護使用者的密碼

最近幾年的新聞中一直有網際網路頭部公司系統被攻擊導致使用者密碼洩露的新聞。那密碼被破解肯定和當初專案伊始時選擇的密碼雜湊方案造成的歷史包袱有關。我們不討論這些網際網路巨頭應該採用什麼方案防止使用者密碼被破解,我知道的方案人家養的那些技術大拿更知道了。我們就來說一下,如果我們有機會自己從零開始做乙個系...

Android系統是如何保護使用者指紋的

那麼有沒有那麼容易呢,android系統是如何保護使用者指紋這一極度私密的資訊的呢?由於android 6.0之前,系統沒有統一的指紋識別處理流程,當時提供指紋功能的各手機廠商的方案都是自行實現的,實現方式各異,其安全性也得不到保障,因此屢屢爆出被破解的新聞。google在統一了fingerprin...

Android資源保護

我們參考proguard obfuscator的方式,對apk中資源檔名使用簡短無意義名稱進行替換,給破解者製造困難,以做到資源的相對安全。我們可以通過修改aapt 在生成resources.arsc和 ap 時把資源檔案的名稱替換掉,從而保護資源。aapt編譯資源的 我們發現修改aapt在處理資源...