SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息

 1. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息

2. 数据存储检测,content://com.starcor.launcherInfo/deviceInfo",这样的串,可以放在字符串资源中编译加密,或者加密存储在配置文件中,或者放到数据库中

3. "SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息http://apkinfo.voole.com/apk-upload-log.do",  这样的串,和上一个一样加密
com/voole/logsdk/localservice/LocalService:openFileInput(Ljava/lang/String;)Ljava/io/File,这样的警告,如果不是敏感信息可以不用理会,否则只能使用加密文件方式操作

4. "http://127.0.0.1:5656/exception",这样的信息,某些部分,也应该放到字符串资源中进行编译加密

5. ((TelephonyManager)paramContext.getSystemService("phone")).getDeviceId();这种提示说获取设备敏感信息窃取用户隐私的警告,不须理会

6. ProGuard只能保护代码,不能保护字符串资源。如果要保护字符串资源,需要购买使用google的DexGuard工具
微信团队给了一个工具,可以保护字符串资源:SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息https://github.com/shwenzhang/AndResGuard/blob/master/README.zSharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息h-cn.md 
用法:java -jar andresguard.jar input.apk

7. 日志打印过多,泄露信息。这个只能修改源码,调试阶段输出日志,Release下减少日志输出,可以如下修改:
// SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息http://*.com/questions/7085644/how-to-check-if-apk-is-signed-or-debug-build
boolean isDebuggable =  ( 0 != ( getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE ) );
if (isDebuggable )
    Log.i(xxxxx); 
上一篇:2017 Multi-University Training Contest - Team 1 1011&&HDU 6043 KazaQ's Socks【规律题,数学,水】


下一篇:libevent源码深度剖析七