天天看點

android jar 加密

引用:http://www.cnblogs.com/sandyzhou/archive/2011/12/31/2308403.html

自從接觸了android開發之後,感覺代碼都容易給一些工具反編譯,比如我自己常用的dex2jar+jdgui,還有其它一些等等,是以下面就介紹下自己在實際應用的解決方案吧。

1.針對要一些 要加密的代碼,本人抽離出接口出來,比如,一個類A會實作類的接口IA,然而在程式中就會看到接口定義,而不會看到具體的實作類的代碼,因為具體實作類的代碼是通過動态加載的。

2.加密具體實作類,這一步主要是加密實作類,過程是這樣的,先導出實作類的jar包,然後通過dx工具轉換格式,然後通過加密算法加密轉換後的jar。

3.通過jni解密和加載類,這一步主要是在C/C++解密程式中的需要加載的jar,然後通過 通過dexclassloader去加載,當然這一步都是在jni層實作的。

4.這樣整個jar包都是加載進去android dalvikvm 去了,是以都可以用反射去調用相應的類,當然性能上可讀有影響,不過隻是少量代碼而已,整個代碼還是需要用混淆的。

下一篇: 美工班