Skip to content

Hooking Fails in Emulator Environment When x86 Architecture Libraries Are Missing #112

Open
@gritggun

Description

@gritggun

bytehook Version

1.1.1

Android OS Version

9

Android ABIs

x86_64

Device Manufacturers and Models

LDPlayer, BlueStacks, NOX..

Describe the Bug

Environment

  • bytehook version: v1.1.1 (latest version)
  • Test app: Sample app included in the bytehook open source
  • Test device: LDPlayer9 emulator (Android 9, x86_64 architecture)

Reproduction Scenario

  1. Prepare sample app with two different build variants:
  • App A: Contains only ARM libraries (armeabi-v7a or arm64-v8a)
  • App B: Contains x86 or x86_64 libraries
  1. Run each app on an x86_64 emulator
  2. Select bytehook toggle
  3. Click dlopen() libsample.so button

Observed Issue

  • App B (containing x86 or x86_64 libraries): Hooking works properly
  • App A (containing only ARM libraries): Hooking fails

Expected Behavior

  • bytehook should work properly in x86_64 emulator environments even for apps that only contain ARM libraries and no x86/x86_64 libraries

Additional Information

  • We plan to provide a commercial SDK, and many customer apps only include ARM binaries (armeabi-v7a or arm64-v8a)
  • With the current limitations of bytehook, we cannot provide the desired hooking functionality for these apps in emulator environments

Questions

  • Is this a known limitation? We couldn't find any mention of this limitation in the documentation.
  • Is there a way to make bytehook work properly with apps that only have ARM libraries in emulator environments?
  • Do you have any plans to address this issue in the future?

bytehook_sample_test.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions