安卓常见反破解方式
2016-02-01 18:46
351 查看
防止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、梆梆、爱加密等。暂时来说各大逆向论坛很少放出关于这种加固的破解方式,可以说目前来说加固还是比较安全的,当然对于大神级别的存在,依然等于不设防
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、梆梆、爱加密等。暂时来说各大逆向论坛很少放出关于这种加固的破解方式,可以说目前来说加固还是比较安全的,当然对于大神级别的存在,依然等于不设防
相关文章推荐
- pyinstaller使用-python项目转换成exe可执行文件
- 【ROS学习】(七)ROS参数服务(1)
- pyinstaller使用-python项目转换成exe可执行文件
- EventBus初理解
- android中BuildConfig.DEBUG的使用
- 为满足不断增长的业务需求 升级现有的服务器架构--达达
- Java Web 三大框架开发资料
- myEclipse+tomcat 热部署
- gitlab服务安装手册
- UVA 1626 Brackets sequence(括号匹配 + 区间DP)
- EF Code First Migration总结
- java保存log到文件中
- 2016-02-01 FFC
- 腾讯应用加固的脱壳分析和修复
- LEETCODE 11 Container With Most Water (JAVA题解)
- 修改Xcode新建类的注释模板(作者,公司名等)
- 灵活强大的构建系统Gradle
- Java泛型读书笔记 (三)
- java基础之 超类Object
- 如何学习编程