classes.dex在Android系统上基本负责完成所有的逻辑业务,因此很多针对Android应用程序的篡改都是针对classes.dex文件的。在APK的自我保护上,也可以考虑对classes.dex文件进行完整性校验,简单的可以通过CRC校验完成,也可以检查Hash值。由于只是检查cla.....
分类:
其他好文 时间:
2015-09-15 16:32:54
阅读次数:
170
在介绍android工具之前,先理清android中出现的文件格式: java:android源码 class:java编译后生成; dex: 由dx工具编译class而成,由dalvik执行; smali:和dex的关系如同汇编代码和opcode; 先看下,android源...
分类:
移动开发 时间:
2015-09-09 21:25:17
阅读次数:
275
MultiDex的产生背景当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加载Dex文件的时候执行的。这个过程会生成一个ODEX文件,即Optimised Dex。执行ODex的效率会比直接执行Dex文件的效率要高很多。但是在早期的Android系统中,DexOpt有一个问题,DexOpt会把每一个类的...
分类:
移动开发 时间:
2015-09-09 11:33:27
阅读次数:
42311
1. 加壳apk的加壳:在程序外面再包裹一层代码,保护里面的代码不被非法修改或者反编译。被保护的程序用加密算法加密,解密逻辑写在作为壳的APK中,实际执行的是被保护的程序。大多是通过DexClassLoader或者隐藏的函数openDexFile将源dex(即被保护的app)加载进来,然后动态替换A...
分类:
移动开发 时间:
2015-09-08 00:26:36
阅读次数:
227
Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex格式的Java应用程序的运行,.dex格式是专为Dal...
分类:
其他好文 时间:
2015-09-07 14:32:27
阅读次数:
150
1.概述
因为之前项目有动态热修复的功能,在修复的过程中会从服务器上下载一个新的dex文件来替换老的dex文件,所以就牵扯到文件身份效验的问题.通常接口会下发一个MD5值,只是一个MD5值的话只能做一个完整性效验,并不能确定文件的合法性,如果攻击者模拟接口下发一个正确的MD5值,照样可以替换文件.所以这里就在效验MD5完整性之后再根据签名做合法性效验....
分类:
移动开发 时间:
2015-09-05 22:22:22
阅读次数:
233
为了防止apk被轻易破解,想办法对java层的代码进行加密,防止反编译,代码混淆基本没什么效果,一般情况下我会对dex进行加密,通过动态加载的方法实现java层的代码尽量被隐藏,而动态加载的实现通过jni来完成,最大化的保护代码安全,其实java层这个时候只剩下继承于Application的启动类。...
分类:
其他好文 时间:
2015-08-31 16:56:22
阅读次数:
226
在Android开发中经常看到这个错误,产生的原因还是挺值得研究的。
如果是在eclipse上出现的这个问题,基本上可以判断为同一工程中存在相同的jar包,或者是不同的jar包,但是他们之间有相同的类,所以解决办法就是干掉对方。在eclipse中如果删除jar之后还报错的话,可能是eclipse的缓存导致的,重启eclipse基本可以解决这个问题。
但是如果事情发生在 Androi...
分类:
移动开发 时间:
2015-08-31 13:39:29
阅读次数:
195
在Android开发中经常看到这个错误,产生的原因还是挺值得研究的。如果是在eclipse上出现的这个问题,基本上可以判断为同一工程中存在相同的jar包,或者是不同的jar包,但是他们之间有相同的类,所以解决办法就是干掉对方。 在eclipse中如果删除jar之后还报错的话,可能是eclipse的缓...
分类:
移动开发 时间:
2015-08-31 11:38:30
阅读次数:
201
在Android开发工作中经常遇到很多奇怪的异常,解决起来会花很长的时间。下面首先来介绍一下Android中有关Jar包的知识。1.Jar包的含义:
Jar包里边封装了很多的类和方法。在开发过程中经常会用到各种各样的Jar包来实现一些功能。 2.Jar包的作用:
将重用的代码打包成一个Jar包,供所有的需要的项目使用。解决了代码复用的问题。...
分类:
移动开发 时间:
2015-08-30 13:05:05
阅读次数:
304