/VirtualHook

Android application hooking tool based on VirtualApp

Primary LanguageJava

VirtualHook

Introduction

VirtualHook is a tool for hooking application without root permission. It is based on two projects:

  • VirtualApp. It's a plugin framework which allows running applications in its virtual space.
  • YAHFA. It's a hook framework for ART which allows hooking Java method of the application.

Currently VirtualHook supports:

  • Android 5.0(API 21)
  • Android 5.1(API 22)
  • Android 6.0(API 23)
  • Android 7.0(API 24)
  • Android 7.1(API 25)
  • Android 8.0(API 26)

ChangeLog

Basically, VirtualHook makes the following changes to the upstream:

Build

Import and build the project in Android Studio(with Instant Run disabled). There are four modules:

  • app. This is the VirtualApp application module.
  • lib. This is the VirtualApp library module.
  • YAHFA. This is the YAHFA hook module.
  • demoHookPlugin. This is a demo hook plugin which compiles to an APK.

Usage

  • Write and build a hook plugin APK. You can take a look at the demoHookPlugin module for reference. Don't forget to put following meta-data in AndroidManifest.xml:
    <application
        android:label="@string/app_name">
        <meta-data
            android:name="yahfa.hook.plugin"
            android:value="true"
        />
    </application>
  • Push the plugin APK to sdcard
  • Run VirtualHook and click the Add button
  • Swipe to the 'APPS IN SDCARD' page. Then select and add hook plugins which are displayed with an icon
  • Add and run non-plugin apps

Example Hook Plugins