Android代碼混淆,爲移動應用提供更安全的保護

因爲Android開源的環境,致使Android的總體環境都存在不少不安全的因素,同時用戶在移動APP客戶端的便捷應用,也給用戶帶來了巨大的安全隱患。未通過安全加固的APP存在被靜態反編譯、惡意篡改、二次打包、動態釣魚攻擊等多個安全隱患。靜態破解可以讓黑客直接逆向出客戶端全部的功能代碼、加密算法以及與服務器通訊的相關方法及URL等敏感信息。黑客能夠隨意進行惡意代碼注入、篡改欺騙用戶甚至攻擊服務器;動態攻擊可以讓黑客進行相關敏感數據的竊取,如用戶核心帳戶信息、服務器端相關信息等。html

谷歌公司雖然從硬件方面強化設備安全性,經過 TrustZone 來實現他們的目的。TrustZone 是系統內核中的一個獨立於內核中其它部分工做的特殊部分,負責處理最重要和敏感的操做(好比數據加密)。安全性獲得必定的提高,用戶將能夠在設備上執行設備認證、設備完整性檢查、設備綁定以及其餘複雜的操做。可是 Android 在安全保護方面依然一直受限,由於其對潛在的整合缺乏控制權。並且安卓系統的破碎性也讓用戶更難得到最新的系統更新。算法

Android代碼混淆,爲移動應用提供更安全的保護安全

So文件保護服務器

SO是Android平臺下的動態連接庫,一般將核心業務邏輯代碼編寫到SO文件中。函數

對SO文件作加密和自定義加載處理,除此以外還會對SO文件中字符串加密和代碼混淆處理,層層防止攻擊者提取SO文件和對其二進制代碼作反編譯和反彙編處理。工具

所用技術點:C/C++源碼混淆加密

加固方式:so文件靜態加殼、即只需上傳.so文件,C/C++源碼混淆,須要使用幾維安全編譯插件。插件

C/C++代碼混淆調試

名詞解釋:將代碼中的函數結構體複雜化,轉換爲功能等價邏輯代碼,可是混淆後的代碼難以閱讀和理解。htm

功能詳解:對Objective-C、C、C++編譯後的Native代碼進行代碼混淆處理,被混淆事後的代碼中存在多餘代碼、怪癖語法、冗餘邏輯判斷,冗餘函數調用等難以閱讀和理解的代碼,讓攻擊者沒法反編譯,從而有效的保護源代碼安全(使用IDA Pro工具查看代碼混淆先後邏輯流程對比效果如圖混淆前、圖混淆後)。Android代碼混淆是一個很是強大實用的功能,結合符號混淆、字符串加密和反調試機制等功能,對應用安全要求很高的場合也能徹底勝任。

Android代碼混淆1.png

混淆前

Android代碼混淆2.png

混淆後

相關文章
相關標籤/搜索