• Android app如何加密?


    欢迎访问网易云社区,了解更多网易技术产品运营经验。


    Android App包含的内容有dex文件,so文件,res,assets资源文件。对应的加密按此内容分为三大方面:dex保护、so加密、资源保护(res, assets)。

    一、dex保护

    由于未保护的dex文件,是从java编译打包而来,破解成本低较易受到攻击。其保护措施从最基本的加壳,到函数执行体抽取、动态加载,再到当前的vmp虚拟机加固,安全逐步增强。尤其是vmp加固,更是使用了自研虚拟机解释函数体,如果指令加密替换做的好,会让破解者很难受。

    二、so加密

    so文件,由起初的段加密,发展到自定义elf结构的加密方式,能防止IDA查看函数名称,增加破解成本和难度。

    三、资源保护

    res资源文件,通常只采用混淆的方式增加逆向难度。assets资源,一般不处理。但随时H5应用日益增多,部分厂商(易盾、娜迦)有提供assets加密的功能,实现原理不详。

    除了上述三点防护外,还有防反编译、防二次打包、防调试、防模拟器、防xposed功能等。

    a) 防反编译,一般是对市面上的反编译工具(例如apktool)做对抗,利用其漏洞,致使反编译失败;

    b) 防二次打包,一般常用的是在代码里保存签名信息,启动时在native层将当前apk的签名信息与保存的签名进行比对。市面上已有破解工具,可以在常用实现方式上做些升级。

    c) 防调试,通过ptrace进程,阻止破解者再ptrace调试。

    d) 防模拟器,检测/system/bin/su和/system/xbin/su文件。

    e) 防xposed,通过检测XposedHelpers的methodCache,判断是否被hook。


    网易云安全(易盾)提供Android 应用加固服务,感兴趣的同学点击可免费试用


    相关文章:
    【推荐】 从加班论客户端开发中的建模
    【推荐】 有道云笔记跨平台富文本编辑器的技术演进
    【推荐】 如何实现360度的手游安全防护?网易云易盾专家分享最新实践

  • 相关阅读:
    手速太慢QAQ
    最短路总结
    放下
    素材收集
    NOI2018旅游记
    -5
    七月
    德国GG了
    本人自传
    bzoj2369
  • 原文地址:https://www.cnblogs.com/163yun/p/10031557.html
Copyright © 2020-2023  润新知