zoukankan      html  css  js  c++  java
  • 安卓android代码混淆研究

    最近研究了一下Android代码的混淆,混淆过程比较简单,这里主要说proguard.cfg的编写。

    首先要说明的一点是引用第三方类库的问题,因为这个是不能混淆的,要保持,我引用了JAVAMAIL的方法,排除混淆如下:

    -libraryjars b/activation.jar
    -libraryjars b/additionnal.jar
    -libraryjars b/mail.jar

    -keep class javax.mail.**{*;}
    -keep class com.sun.mail.**{*;}
    -keep class javax.activation.**{*;}
    -keep class org.apache.harmony.**{*;}
    -keep class java.security.**{*;}

    下来比较纠结的事情出现了,我发现混淆之后的代码基本就是改了方法名成a,b,c,d,e,f等等,可以说混淆成功了,也能安装并运行;

    但是混淆只是改了这些名字,如果我们仔细分析还是可以分析出程序的流程的,于是就在研究proguad配置文件,研究http://proguard.sourceforge.net

    把-keep public class * extends android.app.Activity注释了看看,一下居然成功混淆了,代码的逻辑几乎看不出来,字符串也看不清楚,想着这些万事大吉了,

    但是当我打包,安装,之后发现程序根本不能运行,直接出现意外错误。

    很纠结啊,这个(继承的活动类Activity)不能混淆啊,但是不混又达不到保护代码的目的,纠结中。。。

  • 相关阅读:
    熔断器Hystrix
    面向对象
    基础语法
    为什么需要定义数据类型???
    集成Ribbon的客户端调用工具——Feign
    Ribbon实现客户端负载均衡
    入门神经网络-Python 实现(下)
    代码视角-神经网络-Python 实现(上)
    归纳方法
    神经网络-反向传播BP算法推导
  • 原文地址:https://www.cnblogs.com/weipt/p/2438558.html
Copyright © 2011-2022 走看看