Skip to content
cccskills
FreePublished on GitHub

hopper-debugger

Reverse-engineers and debugs macOS and iOS binaries with Hopper Disassembler and LLDB: ObjC/Swift symbols, dyld loading, framework internals, and crash investigation from disassembly. Use when private API behavior or a runtime crash needs to be understood at the binary level.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md3.3 KB
  • LICENSE1.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Hopper Debugger

Attribution: Sourced from steipete/agent-scripts by Peter Steinberger.

Goal: use Hopper through mcporter as a queryable disassembler, then combine the result with local source, LLDB, logs, and focused repros.

When to Use

  • Reverse-engineering macOS/iOS binaries to understand private API behavior
  • Debugging ObjC/Swift symbol resolution, dyld loading, or framework internals
  • Investigating runtime crashes by inspecting disassembly and pseudo-code
  • Querying Apple framework internals via Hopper + LLDB

Quick Start

Validate the MCP server:

MCPORTER_LIST_TIMEOUT=15000 timeout 20 mcporter list hopper --brief

List open Hopper documents:

MCPORTER_CALL_TIMEOUT=20000 timeout 30 mcporter call hopper.list_documents --output json

If no document is open, open the binary/framework in Hopper first:

open -a "Hopper Disassembler" /path/to/Binary

Hopper may show a first-open/import dialog. Let the user click the confirmation button, then retry the MCP call. Avoid parallel Hopper MCP calls during import.

Apple Frameworks

Prefer already extracted dyld-cache framework binaries when present:

/tmp/dsc-appkit/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
/tmp/dsc-appkit/System/Library/Frameworks/SwiftUI.framework/Versions/A/SwiftUI

Query Workflow

  1. Start from the local source path or runtime symbol you are trying to explain.
  2. Search names/procedures/strings:
mcporter call hopper.search_procedures pattern='NSStatusBar' --output json
mcporter call hopper.search_name pattern='NSStatusBarButtonCell' --output json
mcporter call hopper.search_strings pattern='NSStatusItem' --output json
  1. Inspect one small target at a time:
mcporter call hopper.procedure_info procedure='<symbol>' --output json
mcporter call hopper.procedure_assembly procedure='<symbol>' --output json
mcporter call hopper.procedure_pseudo_code procedure='<symbol>' --output json
mcporter call hopper.procedure_callers procedure='<symbol>' --output json
mcporter call hopper.procedure_callees procedure='<symbol>' --output json
mcporter call hopper.xrefs address=0x12345678 --output json
  1. Summarize the relevant control flow; do not paste large decompilations.
  2. Validate the hypothesis with LLDB/logging/repro before editing app code.

Failure Handling

  • Wrap Hopper calls with timeout; a modal/import or closed document can leave the transport stuck.
  • Do not send concurrent Hopper MCP requests during import.
  • If calls report Connection closed, check for a Hopper modal, then retry.
  • If Hopper crashes, reopen a single document, wait for import/analysis, and re-run list_documents.
  • If mcporter is wedged:
pgrep -af 'mcporter|HopperMCPServer|Hopper Disassembler'
mcporter daemon stop
mcporter daemon start

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when long-lived agents, project memories, system prompts, or playbooks are repeatedly summarized, rewritten, or optimized and risk losing domain detail, provenance, or execution learnings.

The English summary is being prepared. Showing the original description.

mouadja02/skills10Updated Oct 17, 2026

Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document this architecture", "onboard me to this repo", or "create codebase docs". Do not trigger for routine feature implementation, bug fixes, or narrow code edits unless the user asks for repository-level discovery.

The English summary is being prepared. Showing the original description.

mouadja02/skills10Updated Oct 17, 2026

Adds educational comments to a code file so it becomes a learning resource, asking for the file (with a list of close matches) if none is given. Use when preparing code for learners, onboarding, or teaching.

The English summary is being prepared. Showing the original description.

mouadja02/skills10Updated Oct 17, 2026

Write, debug, and optimize Adobe Illustrator automation scripts using ExtendScript (JavaScript/JSX). Use when creating or modifying scripts that manipulate documents, layers, paths, text frames, colors, symbols, artboards, or any Illustrator DOM objects. Covers the complete JavaScript object model, coordinate system, measurement units, export workflows, and scripting best practices.

The English summary is being prepared. Showing the original description.

mouadja02/skills10Updated Oct 17, 2026

Patterns and techniques for adding governance, safety, and trust controls to AI agent systems. Use this skill when: - Building AI agents that call external tools (APIs, databases, file systems) - Implementing policy-based access controls for agent tool usage - Adding semantic intent classification to detect dangerous prompts - Creating trust scoring systems for multi-agent workflows - Building audit trails for agent actions and decisions - Enforcing rate limits, content filters, or tool restrictions on agents - Working with any agent framework (PydanticAI, CrewAI, OpenAI Agents, LangChain, AutoGen)

The English summary is being prepared. Showing the original description.

mouadja02/skills10Updated Oct 17, 2026

Check any AI agent codebase against the OWASP Agentic Security Initiative (ASI) Top 10 risks. Use this skill when: - Evaluating an agent system's security posture before production deployment - Running a compliance check against OWASP ASI 2026 standards - Mapping existing security controls to the 10 agentic risks - Generating a compliance report for security review or audit - Comparing agent framework security features against the standard - Any request like "is my agent OWASP compliant?", "check ASI compliance", or "agentic security audit"

The English summary is being prepared. Showing the original description.

mouadja02/skills10Updated Oct 17, 2026

See all skills by mouadja02

Report a problem with this skill