Android(安卓)代码混淆后有什么用
16lz
2021-12-23
1.在Eclipse中新建HelloWorld的Android工程,里面只有MainActivity.java和UserBean.java。因为MainActivity是启动类,是不能被混淆的。我将演示下如何将UserBean混淆掉。
2.然后开始混淆,这步略,想知道怎么混淆,请看Android如何代码混淆
3.混淆完后,开始用dex2jar反编译,用jd-gui查看源代码
可以看到UserBean被混淆掉了,查看Eclipse在工程的根目录下面生成了一个progurad的文件夹。打开这个文件夹可以看到4个文件。其中有一个是“mapping.txt”,这里面列出了混淆前后的对应关系。可以看到我们的UserBean被混淆成了a,里面的成员变量id被混淆成了a,name被混淆成了b。在MainActivity中也能看出来。同时,proguard还把方法调用优化成了直接引用成员变量。
这只是一个简单的例子,所以看上去还没觉的很混乱。
对源码做混淆是一种非常常用的保护源码的方式,不仅如此,proguard还会对源码做一些优化、字节码进行缩减体积等。
更多相关文章
- Android(安卓)源代码在线查看
- Android(安卓)5 消息机制源码分析
- android 关于Location of the Android(安卓)SDK has not been se
- Ubuntu下 下载Android(安卓)源码(来自官网)
- Android(安卓)代码混淆异常 transformClassesAndResourcesWithPr
- Android(安卓)开启闪光灯做手电筒 源码
- Android(安卓)恐怖幽灵音效 程序(源码详解)
- Android代码混淆
- Android中图片的放大和缩小源码