omnispace的博客

专注AI,物联网,区块链,安卓以及相关安全技术

Dalvik解释器源码到VMP分析

前言 学习这块的主要目的还是想知道vmp是如何实现的,如何与系统本身的虚拟机配合工作,所以简单的学习了Dalvik的源码并对比分析了数字公司的解释器。笔记结构如下: dalvik解释器分析 dalvik解释器解释指令前的准备工作 dalvik解释器的模型 invoke-super指令...

2018-08-09 07:00:46

阅读数 136

评论数 1

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 inst...

2017-09-22 13:39:46

阅读数 425

评论数 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 tak...

2017-09-22 13:36:50

阅读数 383

评论数 0

彻底弄懂dalvik字节码【三】

【一】、【二】中从代码的角度分析了dalvik字节码解释执行的过程,这篇文章以一个例子来实际分析一下。 我们以这篇文章中提到的crackme为例,下载链接参见那篇文章。我们只分析dalvik字节码,因此忽略so。 0x01: 使用Jeb打开crackme.apk,找到MainActivity...

2017-08-24 14:41:11

阅读数 376

评论数 0

彻底弄懂dalvik字节码【二】

【一】中讲到了最重要的dvmInterpret,继续跟: void dvmInterpret(Thread* self, const Method* method, JValue* pResult) { InterpSaveState interpSaveState; Execu...

2017-08-24 14:40:23

阅读数 305

评论数 0

彻底弄懂dalvik字节码【一】

之前曾经简单跟踪过代码,知道dalvik的字节码是可以支持解释执行的,所谓的解释执行,其实就是c/c++编写的用于解释并执行dalvik字节码的程序,说白了就是dalvik字节码到cpu字节码的转换。 之前的理解算是囫囵吞枣,最近有时间,好好跟了一遍dalvik的代码,算是弄明白了细节。 我们...

2017-08-24 14:39:01

阅读数 330

评论数 2

全能HOOK框架 JNI NATIVE JAVA ART DALVIK

OneHook 目前比较流行的几个安卓HOOK方案,都有功能上的欠缺,有的不支持art模式,有的不支持jni层,有的不支持侵入HOOK。 所以OneHook诞生了! 这是一个同时支持ART和Dalvik两种模式,理论上支持安卓4.0.3以上所有版本,同时支持JAVA和NATIVE...

2017-06-29 14:46:29

阅读数 2239

评论数 0

JVM源码阅读-Dalvik类的加载

前言 本文主要研究Android dalvik虚拟机加载类的流程和机制。目的是了解Android中DEX文件结构,虚拟机如何从DEX文件中加载一个Java Class,以及到最终如何初始化这个类直至可被正常使用。​ [Java]类的加载 在Java的世界里,所有类的加载,都由 j...

2017-05-29 15:57:11

阅读数 630

评论数 0

提示
确定要删除当前文章?
取消 删除