Unicorn 模拟调用 SO 文件和 JNI 接口函数,包括 JNI_OnLoad
Unicorn 模拟调用 SO 文件和 JNI 接口函数,包括 JNI_OnLoad 在 Android 逆向工程中,很多时候我们需要在不依赖真机的情况下分析 SO 文件中的算法逻辑。Unicorn 作为一个轻量级的 CPU 模拟器框架,提供了底层的指令模拟能力。本篇将介绍如何使用 Unicorn 引擎加载 SO 文件、模拟 ARM 环境、调用 JNI_OnLoad 以及处理 JNI 接口...
Unicorn 模拟调用 SO 文件和 JNI 接口函数,包括 JNI_OnLoad 在 Android 逆向工程中,很多时候我们需要在不依赖真机的情况下分析 SO 文件中的算法逻辑。Unicorn 作为一个轻量级的 CPU 模拟器框架,提供了底层的指令模拟能力。本篇将介绍如何使用 Unicorn 引擎加载 SO 文件、模拟 ARM 环境、调用 JNI_OnLoad 以及处理 JNI 接口...
Unidbg 使用和加载 SO 文件的方法 在 Android 逆向工程中,分析 Native 层的 SO 文件是一项核心任务。传统方式需要真机或模拟器配合 Frida 等工具进行 hook,但这种方式存在设备依赖、环境复杂、调试不便等问题。Unidbg 作为一个基于 Unicorn 的 Android Native 模拟执行框架,能够在纯 PC 环境中模拟执行 SO 文件中的函数,极大地...
ART 虚拟机简介 从 Android 5.0(Lollipop)开始,Dalvik 虚拟机被 ART(Android Runtime)正式取代。ART 带来了根本性的架构变革,理解这些变革是掌握 ART 脱壳技术的前提。 AOT 编译 ART 最大的特点是引入了 AOT(Ahead-Of-Time)预编译。在应用安装时,系统会将 DEX 字节码编译为本地机器码(ELF 格式),存储在 ...
前言 ClassLoader(类加载器)是 Java 虚拟机和 Android 运行时中负责加载字节码文件的核心组件。在 Android 逆向工程中,理解 ClassLoader 的工作机制是掌握加壳与脱壳技术的必要前提——几乎所有第一代、第二代壳的核心原理都围绕 ClassLoader 展开。 本文将从 Java ClassLoader 基础出发,逐步深入到 Android 体系中的 C...