dynamic-instrumentation

Instrument LLVM-based binaries at runtime to observe and analyze behavior.

868|100|Updated Jan 10, 2022
One-click install
npx skills add https://github.com/gmh5225/awesome-llvm-security --skill dynamic-instrumentation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dynamic-instrumentation
Source: https://github.com/gmh5225/awesome-llvm-security/tree/main/.claude/skills/dynamic-instrumentation
Command: npx skills add https://github.com/gmh5225/awesome-llvm-security --skill dynamic-instrumentation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Dynamic binary instrumentation is essential for observing runtime behavior without source code, enabling profiling, debugging, and security monitoring.

Core Features & Use Cases

  • Dynamic Binary Instrumentation (DBI) for runtime monitoring and data collection.
  • LLVM-based tooling integration (QBDI, Instrew) to lift code, insert analysis, and track memory accesses.
  • Use Case: Build profilers, code coverage tools, or runtime monitors for LLVM-based applications.

Quick Start

Instrument a small demo binary with LLVM-based DBI tooling to generate a trace and observe memory accesses.

Frequently Asked Questions about dynamic-instrumentation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I perform dynamic binary instrumentation to trace memory accesses in LLVM-based software?

Dynamic binary instrumentation traces memory accesses in LLVM-based software by lifting code at runtime to insert analysis callbacks. This allows you to observe behavior and track memory without modifying the original source code.

What is LLVM-based runtime instrumentation used for in dynamic analysis?

LLVM-based runtime instrumentation is used for dynamic analysis tasks like profiling, tracing, and security monitoring. It instruments binaries at runtime to observe application behavior and collect execution data.

Can I hook instrumentation callbacks for selective code range tracking?

Yes, you can hook instrumentation callbacks for selective code range tracking. The tool supports address callbacks to selectively instrument specific code ranges, enabling targeted runtime monitoring and data collection.

Does dynamic binary instrumentation require source code to build a profiler?

Dynamic binary instrumentation does not require source code to build a profiler. It instruments compiled binaries at runtime, enabling code coverage tools and runtime monitors for LLVM-based applications without source access.

What is the best way to monitor runtime behavior without recompiling LLVM applications?

The best way to monitor runtime behavior without recompiling is using LLVM-based DBI tooling. It lifts existing code, inserts analysis hooks, and tracks memory accesses dynamically during execution.

Why use LLVM-based tooling for dynamic binary instrumentation instead of other approaches?

LLVM-based tooling for dynamic binary instrumentation integrates with frameworks like QBDI and Instrew to lift code and insert analysis. It provides robust memory access tracking and profiling for LLVM-based software environments.