SandHook — 安卓 ART 内联 Hook 框架

2026/06/08 sec Android · ART · Hook · Inline Hook · Xposed · Java Hook · SandHook · AOP · 开源项目 1237 字 · 约 4 分钟 阅读
SandHook 是 asLody 开发的 Android ART Hook 框架,支持 4.4-11.0 全版本、32/64 位、ART内联 Hook 和 Native 内联 Hook,兼容 Xposed API。

SandHook — 安卓 ART 内联 Hook 框架

工具简介

SandHookGitHub)是由 asLody(Lody)开发的 Android ART Hook 框架,使用 Java 语言编写,当前拥有 2214 颗星。它是 Android 平台上最为知名的 ART 内联 Hook 方案之一,由 VirtualApp 团队出品。

核心能力

  • ART Hook:支持 Android 4.4(ART 运行时) ~ 11.0 全版本
  • Native Inline Hook:支持 ARM64、ARM32(理论)、Thumb-2 指令集
  • Single Instruction Hook:单指令级 Hook 能力
  • Xposed API 兼容:提供 Xposed API 兼容层,无缝迁移现有模块

架构组成

模块说明
annotation注解 API 定义
hooklibART Hook 核心库
nativehookNative Hook 库
xposedcompatXposed API 兼容实现(稳定版)
xposedcompat_newXposed API 兼容实现(快速版)
hookersHook 插件 Demo

使用方式

通过 Gradle 依赖方式集成:

implementation 'com.swift.sandhook:hooklib:4.2.0'
implementation 'com.swift.sandhook:nativehook:4.2.0'

注解 API 示例

@HookClass(Activity.class)
public class ActivityHooker {

    @HookMethodBackup("onCreate")
    @MethodParams(Bundle.class)
    static Method onCreateBackup;

    @HookMethod("onCreate")
    @MethodParams(Bundle.class)
    public static void onCreate(Activity thiz, Bundle bundle) throws Throwable {
        Log.e("ActivityHooker", "hooked onCreate success " + thiz);
        SandHook.callOriginByBackup(onCreateBackup, thiz, bundle);
    }
}

技术特点

指标数据
仓库https://github.com/asLody/SandHook
Stars2214
Forks450
编程语言Java
Topicsandroid, aop, art, hook, inline-hook, java-hook, xposed
创建时间2019-01-12
最后更新2023-01-19

在逆向工程中的应用

SandHook 广泛应用于:

  • 应用脱壳:通过 Hook ART 方法调用还原加壳应用的方法
  • 行为监控:监控应用关键方法的调用参数和返回值
  • 隐私分析:Hook 敏感 API 调用链,分析隐私数据流向
  • 功能增强:通过 Hook 扩展应用功能,如去广告、会员破解
  • 兼容层开发:作为 Xposed 模块在非 Root 环境下的运行时基础

文档信息

加载评论…