很多人說了破解的方法,下面我來分享一下APP防破解的方法吧。
一般來說,當前在iOS 和安卓平臺用的比較多的防破解方式有以下幾種:
l字串加密(XSE):對原始碼中的字串進行加密,從而避免敏感字串洩露
這種方式的好處是比較簡單、容易實施,而且對效能的損耗不大,但是防破解的能力一般。
l虛假控制流技術(BCF):在原始程式碼塊中隨機插入垃圾指令(花指令)、在原始程式碼塊前後隨機插入新的程式碼塊,製造虛假的程式控制流。
這種方法的破解難度就比第一種好很多了,當然會造成一定的效能損耗。
l控制流平坦化保護(FLA):在保證不改變原始碼功能的前提下,將原始碼中的條件、迴圈(等控制語句轉化為排程器統一呼叫,隱藏原始執行流程。
這種方法會對效能造成比較大的損耗,如果對於效能要求比較高的慎用這種方式。
還有一種破解難度非常高的技術叫做“虛機原始碼保護”技術,目前為頂象獨有。該技術首先把待保護的核心程式碼編譯成二進位制檔案,然後生成獨特的執行環境和只能在該環境下執行的執行程式。執行時使用頂象獨創的虛擬CPU直接執行加密的指令,它們完全不同於常見的x86或ARM指令,從而任何逆向工具均無法直接逆向破解。
當然,沒有軟體是絕對無法被破解的,透過這些方式,可以顯著提升被破解的難度。
很多人說了破解的方法,下面我來分享一下APP防破解的方法吧。
一般來說,當前在iOS 和安卓平臺用的比較多的防破解方式有以下幾種:
l字串加密(XSE):對原始碼中的字串進行加密,從而避免敏感字串洩露
這種方式的好處是比較簡單、容易實施,而且對效能的損耗不大,但是防破解的能力一般。
l虛假控制流技術(BCF):在原始程式碼塊中隨機插入垃圾指令(花指令)、在原始程式碼塊前後隨機插入新的程式碼塊,製造虛假的程式控制流。
這種方法的破解難度就比第一種好很多了,當然會造成一定的效能損耗。
l控制流平坦化保護(FLA):在保證不改變原始碼功能的前提下,將原始碼中的條件、迴圈(等控制語句轉化為排程器統一呼叫,隱藏原始執行流程。
這種方法會對效能造成比較大的損耗,如果對於效能要求比較高的慎用這種方式。
還有一種破解難度非常高的技術叫做“虛機原始碼保護”技術,目前為頂象獨有。該技術首先把待保護的核心程式碼編譯成二進位制檔案,然後生成獨特的執行環境和只能在該環境下執行的執行程式。執行時使用頂象獨創的虛擬CPU直接執行加密的指令,它們完全不同於常見的x86或ARM指令,從而任何逆向工具均無法直接逆向破解。
當然,沒有軟體是絕對無法被破解的,透過這些方式,可以顯著提升被破解的難度。