Android 资源文件加密策略讨论(基于随机矩阵和 NDC so 静态库)

作者/分享人:天涯来客
华为技术核心网集成产品经理,高级工程师。负责电信核心网集成产品规划。集成服务交付。网络规划设计和集成。熟悉C、C++、OC、Java等开发语言。会使用eclipse,Android studio,Xcode。

Android app 存在诸多安全漏洞,重点分享一种利用 C 语言静态 so 库和随机矩阵对 Android 资源文件进行加密的方法,确保 Android 应用资源安全性。

利用该方法加密的 Android 资源文件包括:图像和视频,文本文件,数据库等。布局文件等 XML 格式的文件是否可以加密,需要讨论。如果可以加密,如何在应用加载布局文件前进行解密。加密策略如下:

  1. 先利用第三方代码生成一个 M * N 的随机矩阵。
  2. 用这个随机矩阵的不同行和资源文件做数学运算,最简单的就是异或逻辑运算。
  3. 资源文件的不同行的随机密码是不同的。
  4. 待加密资源文件可以批处理由第三方程序加密,加密后的资源文件加载到 Android 应用的工程中。
  5. 随机矩阵可以存储在 Android 项目的 C 语言 so 库中,也可以存放在网络服务器中,后者的缺点是应用每次启动时必须打开网络。
  6. 读取到加密矩阵后,Android 应用对资源文件解密。
活动取消
已有43人预订
预订达标
文章出炉
交流日期
     
01月02日
01月20日
01月27日
退款保证:
• 01月02日前,预订人数未达标,您将获得全额退款。
• 作者未按时完成文章,您将获得全额退款。
• 作者未按时间进行分享,您将获得全额退款。
你可能还喜欢
哪些算法和数据结构是需要程序员必须掌握的?
zhen.guo
ACT 敏捷教练培养体系
Chat 三人行
Spring Cloud Consul 从入门到精通
如梦技术 dreamlu
技术部门 Leader 与团队那些事
Eason
Spring Data JPA 晋级提升篇:复杂场景实战用法与优化
张振华
高并发、高性能 Web 架构解决方案
Array老师
程序员的自我进化:学习之道,如何更有效的学习
Soyoger
Spring 注解是如何实现的
飞翔
深入理解领域驱动设计中的聚合(aggregates)
张刚
分布式事务原理探究
追梦
如何正确使用 Spring Cloud?
老顽童
基于 Redis 的分布式锁实现及踩坑案例
应书澜
微服务概述及微服务文档输出实战应用
thinkers
Spring 事务配置解惑
追梦
本地事务原理探究
追梦
微信扫描登录