• 安卓常见反破解方式


    • 防止APKTool反编译

            APKTool 是常用的APK反编译工具,可以说市场上99%的APK都可以用它反编译出来。XML等样式、配置、页面文件都能完全反编译出来。

    首先要从APKTool的来历入手,APKTool是GOOGLE提供的APK编译工具,那么完全基于android原生框架构建的APK都是能被轻易破解的,反编译出来的目录都包括lib、res,assets等。通过改变这样的目录框架,就能让APKTool失效。

    • 防止dex2jar反编译

            dex2jar 是反编译java代码的利器,APK包中的文件classes.dex通过这个工具就可以破解为jar文件了,而jar文件用JD-GUI工具就能看到 java源码了。那么破坏dex文件的结构,或改变dex文件的二进制值就可以达到防止反编译的目的。

    • 核心代码用NDK编译成so动态库 

            so文件是用c、c++编译成的动态链接库,要破解就很难了。目前主流的软件加密,通讯,传输协议等都被封装成了SO动态库。例如libsdksecurity.so,libBaiduMapSDK.so等。

    • 代码混淆

            代码混淆只能是增加破解后的阅读难度,但是破解后核心的传输协议,加密算法,密钥等就都暴露了,这种方式的已不安全。

    • 防止二次打包

            目前android的应用市场可以说是鱼龙混杂,项目上传到应用市场后就有可能被二次打包,植入广告,然后通过运行时签名验证的方法,可能补上这个洞。

            1.将Apk以压缩包的形式打开删除原签名再签名,安装之后打开异常的,则基本可以断定是签名检验。

            2.如果在断网的情况下同样是会出现异常,则是本地的签名检验;

            3.如果首先出现的是提示网络没有连接,则是服务器端的签名校验

    • Apk加固

            目前市面上的加固平台数不胜数,腾讯、360、梆梆、爱加密等。暂时来说各大逆向论坛很少放出关于这种加固的破解方式,可以说目前来说加固还是比较安全的,当然对于大神级别的存在,依然等于不设防

  • 相关阅读:
    Java生产者与消费者(下)
    Java生产者与消费者(上)
    Java中的继承和接口
    syslog(),closelog()与openlog()--日志操作函数
    Nagle算法
    TCP_NODELAY详解
    Linux "零拷贝" sendfile函数中文说明及实际操作分析
    pdflush的工作原理
    proc/sys/net/ipv4/下各项的意义
    求最低价格
  • 原文地址:https://www.cnblogs.com/JianXu/p/5176048.html
Copyright © 2020-2023  润新知