介绍这个壳的核心——字节码解释器,它参考了dalvik虚拟机的解释器。不需要hook、注入。目前只支持算数运算指令。我个人把dalviki指令分为这么几类:算数运算指令。引用类指令。如const-string、invoke-kind,这类指令需要引用dex的资源。其他指令解释执行算数运算指令较为简单...
分类:
移动开发 时间:
2015-04-07 08:28:37
阅读次数:
534
参考源码版本:Android-4.4.4_r2
提示:大部分分析直接注释在代码内。
dvmInterpret函数中调用了dvmInterpretPortable函数对方法的字节码进行解释执行,dvmInterpret在dalvik/vm/interp/Interp.cpp文件中。
dvmInterpretPortable函数在dalvik/vm/mterp/out/Int...
分类:
其他好文 时间:
2015-04-04 08:02:46
阅读次数:
264
Android基础-01
1.1G-4G的介绍
2.Android操作系统介绍
3.Android历史介绍
4.Android系统架构(重点)
系统架构的四个层次:
1、应用程序层:自己的开发应用程序都是运行在这一层;
2、框架层:开发应用程序使用的API都在这一层;
3、类库层:基础类库;
4、linux内核:
5.两种虚拟机的不同(重点)
JVM与Dalvik虚拟机之...
分类:
移动开发 时间:
2015-04-03 13:38:54
阅读次数:
166
Smali Registers
介绍Smali中Register相关知识
简介
Dalvik字节码中,register(寄存器)一定是32位,它可以用于存放任何类型的值。如果需要存放64位的数据(比如Long和Dobule),则需要两个寄存器。
指定一个方法中寄存器数目
有两种方法可以指定一个方法中用到的寄存器数目。.registers num指令用于指定该方法中用...
分类:
其他好文 时间:
2015-04-03 00:20:47
阅读次数:
287
这部分涉及的内容比较多,我会尽量从最基础开始说起,但需要读者一定的android开发基础。但注意可能讲解详细得令人作呕,请根据个人理解程度斟酌。 APK、Dalvik字节码和smali文件APK文件 大家都应该知道APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到...
分类:
其他好文 时间:
2015-04-02 15:03:15
阅读次数:
237
apk一般占一个dalvik,一个进程,一个task。通过设置也可以多个进程,占多个task。task是一个activity的栈,其中"可能"含有来自多个App的activity默认情况下,同一个应用程序中的所有组件运行在同一个进程中,而且绝大多数的应用程序也都是这样的。但是,如果我们想要控制让某个...
分类:
移动开发 时间:
2015-04-02 09:06:26
阅读次数:
190
Java有很多第三方库。Android的Dalvik虚拟器不完全是Java,也就是Android SDK和传统的SDK不完全一样,如果Java库兼容Android,则可被利用。Java库使用受限于下面因素:目标平台:Java代码适配版本是否比Android基于的Java版本更高。是否用了Androi...
分类:
移动开发 时间:
2015-03-31 00:37:40
阅读次数:
159
Android手机内存管理与性能优化&JNI、NDK高级编程(JNI、Dalvik、内存监测)课程分类:Android适合人群:中级课时数量:34小节课时用到技术:Dalvik,DDMS,FileExplorer,Adapter和图片处理,查询数据库和Static关键字使用及线程,JNI和NDK等涉及项目:Android手机内存管理与性能..
分类:
移动开发 时间:
2015-03-30 19:05:17
阅读次数:
149
Android手机内存管理与性能优化&JNI、NDK高级编程(JNI、Dalvik、内存监测)课程分类:Android适合人群:中级课时数量:34小节课时用到技术:Dalvik,DDMS,File Explorer,Adapter和图片处理,查询数据库和Static关键字使用及线程,JNI和NDK等...
分类:
移动开发 时间:
2015-03-30 14:35:34
阅读次数:
141