proguard 原理Java代码编译成二进制class 文件,这个class 文件也可以反编译成源代码 ,除了注释外,原来的code 基本都可以看到。为了防止重要code 被泄露,我们往往需要混淆(Obfuscation code , 也就是把方法,字段,包和类这些java 元素的名称改成无意义的...
分类:
移动开发 时间:
2015-01-10 01:01:36
阅读次数:
251
代码混淆的作用就不说了。这里以BaiduMapDemo作为例子说一下代码混淆:
这是这个工程大致轮廓:
(1)没有混淆apk反编译之后的情况:
具体到每个包下的情况:
可以看出来混淆的只是第三方的jar包,这并不是我们混淆的,而是第三方的jar包自带的混淆。
(2)那我们就开始混淆:
分两步走:
(|) 第一步:打开project....
分类:
移动开发 时间:
2014-12-31 16:23:56
阅读次数:
238
Android代码混淆是必须的,java层代码如果不做混淆等于把源代码送人了。那如何做混淆呢?
之前一般都是提到采用proguard.cfg,但使用新版本ADT后没有这个文件了,取而代之的是proguard-project.txt文件。那该如何使用呢?
在项目根目录下有个project.properties,里面有如下内容:
# To enable ProGuard to shrink an...
分类:
移动开发 时间:
2014-12-15 13:47:54
阅读次数:
149
Android代码混淆是必须的,java层代码如果不做混淆等于把源代码送人了。那如何做混淆呢?之前一般都是提到采用proguard.cfg,但使用新版本ADT后没有这个文件了,取而代之的是proguard-project.txt文件。那该如何使用呢?在项目根目录下有个project.properti...
分类:
移动开发 时间:
2014-12-15 13:40:28
阅读次数:
213
本程序引入了unity3d的程序,那么自然就使用到了jar包unity-class.jar这个jar包。在混淆的时候出现下列问题:
首先第一个问题:
java.io.IOException: Can't read [unity-classes.jar] (Can't process class [com/unity3d/player/UnityPlayer.class] (Unknown verification type [191] in stack map frame))...
分类:
移动开发 时间:
2014-12-08 21:34:10
阅读次数:
1228
为了防止代码被反编译,因此需要加入混淆。混淆也可以通过第三方进行apk混淆,也可以用android中的proguard进行混淆。
混淆步骤:
1、配置混淆文件,名字可以随意,在这里使用proguard-android,格式为txt。
-optimizationpasses 5...
分类:
移动开发 时间:
2014-12-05 19:21:34
阅读次数:
180
-injarsandroidtest.jar【jar包所在地址】-outjarsout【输出地址】-libraryjars 'D:\android-sdk-windows\platforms\android-9\android.jar' 【引用的库的jar,用于解析injars所指定的jar类】-....
分类:
移动开发 时间:
2014-11-25 14:01:34
阅读次数:
183
-keepattributes *Annotation*
-keepattributes *JavascriptInterface*
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
-keepclassmembers class cn.xx.xx.Activity$AppAndr...
分类:
移动开发 时间:
2014-11-23 14:35:01
阅读次数:
186
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags ...
分类:
移动开发 时间:
2014-11-20 17:01:19
阅读次数:
236