
Android / Dalvik
Omni-Space
专注Android, Mobile Security and AI
展开
-
JVM源码阅读-Dalvik类的加载
前言本文主要研究Android dalvik虚拟机加载类的流程和机制。目的是了解Android中DEX文件结构,虚拟机如何从DEX文件中加载一个Java Class,以及到最终如何初始化这个类直至可被正常使用。[Java]类的加载在Java的世界里,所有类的加载,都由 java.lang.ClassLoader 来负责。ClassLoader是一个抽象类,它有多个实现类,转载 2017-05-29 15:57:11 · 1067 阅读 · 0 评论 -
全能HOOK框架 JNI NATIVE JAVA ART DALVIK
OneHook目前比较流行的几个安卓HOOK方案,都有功能上的欠缺,有的不支持art模式,有的不支持jni层,有的不支持侵入HOOK。所以OneHook诞生了!这是一个同时支持ART和Dalvik两种模式,理论上支持安卓4.0.3以上所有版本,同时支持JAVA和NATIVE层,使用全局注入技术的侵入式HOOK框架。本框架不需要额外的安装,可以静态编译到自己的APP中转载 2017-06-29 14:46:29 · 3324 阅读 · 0 评论 -
彻底弄懂dalvik字节码【一】
之前曾经简单跟踪过代码,知道dalvik的字节码是可以支持解释执行的,所谓的解释执行,其实就是c/c++编写的用于解释并执行dalvik字节码的程序,说白了就是dalvik字节码到cpu字节码的转换。之前的理解算是囫囵吞枣,最近有时间,好好跟了一遍dalvik的代码,算是弄明白了细节。我们从dvmCallMethod开始来跟一遍dalvik执行方法的过程:void dvmCallMet转载 2017-08-24 14:39:01 · 950 阅读 · 2 评论 -
彻底弄懂dalvik字节码【二】
【一】中讲到了最重要的dvmInterpret,继续跟:void dvmInterpret(Thread* self, const Method* method, JValue* pResult){ InterpSaveState interpSaveState; ExecutionSubModes savedSubModes;#if defined(WITH_JIT)转载 2017-08-24 14:40:23 · 600 阅读 · 0 评论 -
彻底弄懂dalvik字节码【三】
【一】、【二】中从代码的角度分析了dalvik字节码解释执行的过程,这篇文章以一个例子来实际分析一下。我们以这篇文章中提到的crackme为例,下载链接参见那篇文章。我们只分析dalvik字节码,因此忽略so。0x01:使用Jeb打开crackme.apk,找到MainActivity的onCreate方法,其smali内容是:.method protected onCreate(转载 2017-08-24 14:41:11 · 926 阅读 · 0 评论 -
Dalvik Virtual Execution with SmaliVM
Sometimes it’s useful to know what code does without executing it. You could read the code with your eyeballs and run it with your brain but that takes too long and it’s really hard, and executing cod转载 2017-09-22 13:36:50 · 738 阅读 · 0 评论 -
Creating a Java VM from Android Native Code
If you’re writing native / JNI code for Android, it’s probably as native method of an Android app. These methods are always passed the Dalvik VM instance of the app as the first parameter. You need th转载 2017-09-22 13:39:46 · 791 阅读 · 0 评论 -
Dalvik解释器源码到VMP分析
前言学习这块的主要目的还是想知道vmp是如何实现的,如何与系统本身的虚拟机配合工作,所以简单的学习了Dalvik的源码并对比分析了数字公司的解释器。笔记结构如下:dalvik解释器分析 dalvik解释器解释指令前的准备工作 dalvik解释器的模型 invoke-super指令实例分析 数字壳解释器分析 解释器解释指令前的准备工作 解释器的模型 invoke-s...转载 2018-08-09 07:00:46 · 640 阅读 · 1 评论