explaingit

jmpews/dobby

4,718C++Audience · developerComplexity · 4/5Setup · hard

TLDR

A lightweight, cross-platform hook framework that lets developers intercept and redirect function calls in running programs on iOS, Android, Windows, macOS, and Linux without modifying the original binary.

Mindmap

mindmap
  root((dobby))
    What it does
      Function interception
      Call redirection
      Runtime patching
    Platforms
      iOS and Android
      Windows and macOS
      Linux
    Architectures
      ARM and ARM64
      X86 and X86-64
    Use cases
      Security research
      Debugging tools
      Testing with mocks
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Intercept system API calls in an iOS or Android app to add logging or modify behavior during security research.

USE CASE 2

Build a debugging tool that transparently wraps function calls to track arguments and return values at runtime.

USE CASE 3

Test how an application behaves when specific functions are redirected to return controlled mock data.

Tech stack

C++ARM64ARMX86X86-64

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a compiled build matched to the target architecture and OS, the README is minimal and points to a separate docs folder for usage details.

In plain English

Dobby is a hook framework for software developers working at a low level. A hook framework is a library that lets you intercept function calls in a running program and redirect them to your own code, without modifying the original binary. This is useful for debugging, testing, security research, and building tools that sit transparently between an application and its underlying functions. The library is written to be small and modular. It works across several major operating systems: Windows, macOS, iOS, Android, and Linux. It also supports multiple processor architectures, including X86, X86-64, ARM, and ARM64, which covers most desktop, server, and mobile environments in common use today. The README itself is very short and does not describe setup steps, API usage, or supported features in detail. It points to a separate compilation guide in the docs folder and to the releases page for downloading pre-built library files. A list of credits names several other open-source projects the library draws on, including the Frida instrumentation toolkit and the MinHook library for Windows. Contact and community links are provided for a Telegram account and a group chat if you want to ask questions or follow development.

Copy-paste prompts

Prompt 1
Show me how to use Dobby to hook a function by address on ARM64 Android and redirect it to my own handler function.
Prompt 2
Using Dobby, write a hook that intercepts the open() syscall on macOS and logs the file path before calling through to the real function.
Prompt 3
How do I compile Dobby for iOS and integrate the resulting static library into an Xcode project?
Prompt 4
Show me a minimal Dobby example on Windows x86-64 that hooks a function, inspects its arguments, then calls the original.
Open on GitHub → Explain another repo

← jmpews on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.