APP加固方式全面升級,幾維安全多種APP加密方式任你選!
眾所周知,APP進行有效的加固可以防止應用被破解、防止二次打包、防止外掛、防止惡意篡改等,從而保護APP數據不被泄露出去。幾維安全為了維護開發者和用戶的利益,在原有的APP加固基礎之上不斷進行技術創新,現有多種APP加固方式供個人開發者、企業用戶進行自由選擇。接下來幾維安全小編為各位詳細介紹Android加固和iOS加固,快來選擇適合你的加密方式。
Android加固
1、 源碼保護
Dex函數體分離加殼,對dex文件進行函數體分離加殼,在運行時動態載入函數體,以單個函數的方式還原到Java虛擬機中,能有效防止靜態編譯查看dex文件源碼以及通過dump手段dump出所有代碼。
Dex源碼native化,對dex文件進行native指令化轉化,並且以native方式還原到安卓內存中,即使使用dump手段dump出當前部分代碼,也是經過native處理過的代碼,不會還原成APP源代碼。
So文件混淆加密,對SO文件做加密和自定義載入處理,除此之外還會對SO文件中字元串加密和代碼混淆處理,層層防止攻擊者提取SO文件和對其二進位代碼做反編譯和反彙編處理。
Dll文件加密,初級加密:對dll文件進行整體加密,運行時整體解密,能有效防止靜態編譯;
高級加密:對dll文件進行函數抽取方式加密,能有效防止靜態反編譯以及內存dump。
Lua文件加密,自定義Lua文件解析器和修改Lua文件位元組碼,防止Lua文件被通用逆向分析思路dump下來並反編譯。
2、 反調試保護
防動態注入,防注入保護,能有效防止APP運行時通過注入的方式獲取APP隱私數據、使用hook等方式劫持APP的正常運行流程等。當加固後的APP檢測到注入時,APP會自動退出運行。
防動態調試,反調試機制能夠有效拒絕調試工具的附加操作,阻止調試器對移動應用調試分析其業務邏輯代碼,一旦被加固的程序檢測到有如gdb等調試操作將自動退出運行。
防內存dump,防內存dump保護,能有效阻止gdb dump等操作,同時因為代碼採用函數體分離方式和native化保護,代碼都是以單個函數還原到內存中,而內存中的代碼也是經過native處理,及時dump出當前代碼片段,也是經過native方式處理後的代碼,不會還原成源代碼。
3、 內存保護
防內存讀取/修改,防內存讀取/修改保護機制,在檢測到APP運行時如果內存有其他程序讀取或者修改內存數據,那麼程序將自動退出。
防模擬器,防止程序在模擬器上運行。
防腳本外掛,通過內存保護機制,防止腳本外掛等程序,修改APP內存數據,一旦有檢測到有腳本或者外掛存在程序會自動退出運行。
4、 完整性保護
簽名完整性,對簽名做完整性校驗保護,一旦更改簽名文件,程序將不會再次運行。
資源文件完整性,通過對資源文件的完整性校驗,包括assets、res、AndroidManifest等資源文件,一旦有任何資源文件被修改,程序將不會再次運行。
iOS加固
1、 源碼混淆
對Objective-C、C、C++編譯後的Native代碼進行代碼混淆處理,被混淆過後的代碼中存在多餘代碼、怪癖語法、冗餘邏輯判斷,冗餘函數調用等難以閱讀和理解的代碼,讓攻擊者無法反編譯,從而有效的保護源代碼安全。
2、 指定函數混淆
自定義指定函數進行代碼混淆,並且指定對應強度,可以提供關鍵部分高強度代碼混淆,這樣可以在控制包體大小的情況下獲取更好的加密強度。
3、 字元串加密
字元串加密功能能夠隱藏程序中的關鍵字元串,使逆向分析無法通過字元串分析程序關鍵位置和依賴關係,提供逆向分析難度。
推薦閱讀:
※BitLocker的加密有沒有特別的優勢和意義?
※作為域用戶,有什麼辦法可以保護自己的私人文件夾,不讓域管理員接觸?
※破解密碼除了暴力破解還有什麼高端的方法?
※早期的中國黑客大牛們現在都在幹什麼呢?
※三分鐘學習 MD5