码迷,mamicode.com
首页 >  
搜索关键字:dex    ( 10285个结果
Dex文件的完整性校验
classes.dex在Android系统上基本负责完成所有的逻辑业务,因此很多针对Android应用程序的篡改都是针对classes.dex文件的。在APK的自我保护上,也可以考虑对classes.dex文件进行完整性校验,简单的可以通过CRC校验完成,也可以检查Hash值。由于只是检查cla.....
分类:其他好文   时间:2015-09-15 16:32:54    阅读次数:170
android安全学习、工具库、框架
在介绍android工具之前,先理清android中出现的文件格式: java:android源码 class:java编译后生成; dex: 由dx工具编译class而成,由dalvik执行; smali:和dex的关系如同汇编代码和opcode; 先看下,android源...
分类:移动开发   时间:2015-09-09 21:25:17    阅读次数:275
Android分包MultiDex原理详解
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与JVM
Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex格式的Java应用程序的运行,.dex格式是专为Dal...
分类:其他好文   时间:2015-09-07 14:32:27    阅读次数:150
Android 运行中效验文件完整合法性
1.概述        因为之前项目有动态热修复的功能,在修复的过程中会从服务器上下载一个新的dex文件来替换老的dex文件,所以就牵扯到文件身份效验的问题.通常接口会下发一个MD5值,只是一个MD5值的话只能做一个完整性效验,并不能确定文件的合法性,如果攻击者模拟接口下发一个正确的MD5值,照样可以替换文件.所以这里就在效验MD5完整性之后再根据签名做合法性效验....
分类:移动开发   时间:2015-09-05 22:22:22    阅读次数:233
apk 加密
为了防止apk被轻易破解,想办法对java层的代码进行加密,防止反编译,代码混淆基本没什么效果,一般情况下我会对dex进行加密,通过动态加载的方法实现java层的代码尽量被隐藏,而动态加载的实现通过jni来完成,最大化的保护代码安全,其实java层这个时候只剩下继承于Application的启动类。...
分类:其他好文   时间:2015-08-31 16:56:22    阅读次数:226
Android "multiple dex files define" 错误
在Android开发中经常看到这个错误,产生的原因还是挺值得研究的。   如果是在eclipse上出现的这个问题,基本上可以判断为同一工程中存在相同的jar包,或者是不同的jar包,但是他们之间有相同的类,所以解决办法就是干掉对方。在eclipse中如果删除jar之后还报错的话,可能是eclipse的缓存导致的,重启eclipse基本可以解决这个问题。   但是如果事情发生在 Androi...
分类:移动开发   时间:2015-08-31 13:39:29    阅读次数:195
Android "multiple dex files define" 错误
在Android开发中经常看到这个错误,产生的原因还是挺值得研究的。如果是在eclipse上出现的这个问题,基本上可以判断为同一工程中存在相同的jar包,或者是不同的jar包,但是他们之间有相同的类,所以解决办法就是干掉对方。 在eclipse中如果删除jar之后还报错的话,可能是eclipse的缓...
分类:移动开发   时间:2015-08-31 11:38:30    阅读次数:201
Android中Unable to execute dex: Multiple dex files define Lcom/viewpagerindicator/CirclePageIndicat
在Android开发工作中经常遇到很多奇怪的异常,解决起来会花很长的时间。下面首先来介绍一下Android中有关Jar包的知识。1.Jar包的含义: Jar包里边封装了很多的类和方法。在开发过程中经常会用到各种各样的Jar包来实现一些功能。 2.Jar包的作用: 将重用的代码打包成一个Jar包,供所有的需要的项目使用。解决了代码复用的问题。...
分类:移动开发   时间:2015-08-30 13:05:05    阅读次数:304
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!