最近公司作的項目小火了,因而出現一堆外掛程序,有的甚至直接抓包模擬請求,簡直猖狂!html
雖然咱們接口作了校驗,可是salt+md5這種套路你們都懂,只要apk被反編譯了,基本就阻止不了敵人。安全
因此咱們要把關鍵的salt藏起來,好比藏到so裏。.net
具體的so我參考瞭如下兩篇文章作了出來↓設計
使用 Android Studio 寫出第一個 NDK 程序(超詳細)htm
Android 安全系列之如何在 native 層保存關鍵信息blog
可是,作完以後的so我試着用IDA打開,發現字符串暴露無疑,簽名暴露也就算了,salt也暴露簡直可怕!接口
因此我簡單設計了一下,由App端傳入一個字符串key1,再跟so中的一個字符串key2按照寫好的規則進行組合,這個規則能夠本身寫的複雜點,增長破解難度。md5
再用IDA打開,就只能看到so中的字符串key2,和一堆看不懂的彙編代碼,真正的salt是要運行過so才能獲取的,而運行so會校驗簽名,保證了不會被敵人直接運行獲取到。字符串
固然,若是敵人看得懂彙編代碼,又拿到了key1跟key2,那就認命了吧。get