APP加密之加密原理?
APP加密之加密原理。常見的APP加密方法包括偽加密、混淆、執行驗證和第三方加密平臺APP加密。此三種APP加密效果各不一,愛加密小編帶大家探究下APP加密之加密原理。
常用的APP加密方式
APP加密之偽加密是Android4.2.x系統釋出前的加密方式之一,通過java程式碼對APK(壓縮檔案)進行偽加密,其修改原理是修改連續4位位元組標記為”P K 01 02”的後第5位位元組,奇數表示不加密偶數表示加密。雖然偽加密可以起到一定防破解作用,但也會出現問題,首先使用偽加密對其APK加密後市場無法對其進行安全檢測,導致部分市場會拒絕這類APK上傳;其次,偽加密的加密方式和解密方式也早已公佈導致它的安全程度也大大降低;再次,Android4.2.x系統無法安裝偽加密的APK;最後偽加密只是對APK做簡單保護,在java層原始碼加殼保護、核心so庫、資原始檔、主配檔案、第三方架包方面卻沒有任何保護處理。
注意:高版本不支援這樣的方法,所以還是不要嘗試使用這樣的加密方式了。
APP加密之混淆,混淆是把原來有具體含義的類名,變數名,方法名,修改成讓人看不懂的名字,例如方法名getUserName程式設計了方法名。程式碼混淆只是增加APP程式碼的閱讀難度,對APP安全起不到實質的作用,但其是APP加密之前的一個必要步驟。
APP加密之執行時驗證,主要是指在程式碼啟動的時候本地獲取簽名信息然後對簽名信息進行檢驗來判斷自己的應用是否是正版,如果簽名信息不是正版則提示盜版或者直接崩潰。當然你可以把必要的資料放在伺服器端。破解:找到smali檔案中,判斷是否相等的部分。改為常量true,即失效。總之,反編譯一些apk之後,只要是java程式碼寫的總會有smil檔案。對於smil檔案,如果耐心讀的話,還是可以檢視到一些關鍵程式碼的。
APP加密之第三方服務平臺愛加密,以上三種APP加密方式均達不到理想效果,因此,有必要利用APP加密第三方服務平臺的加密技術進行加密保護
APP加密之加密原理
第三方平臺APP加密原理是對原始檔加殼技術實現DEX保護。APP加密服務主要還有:DEX加殼保護、DEX指令動態載入保護、高階混淆保護,SO庫保護,主配置檔案保護,資原始檔保護,防二次打包防護。給APP加密以最全面最安全的加密保護。