bgclick-rev

Solid

Reverse-engineer a macOS GUI automation app's background-click path and produce a Swift reproduction. Use only when the user provides a target .app and explicitly asks for IDA-backed background-click reverse engineering. Requires IDA Pro with IDA MCP attached.

AI & Automation 89 stars 3 forks Updated yesterday Apache-2.0

Install

View on GitHub

Quality Score: 86/100

Stars 20%
65
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Background-Click Reverse Engineering Use this skill only for research on a user-provided macOS `.app`. If IDA Pro or IDA MCP is unavailable, stop early and explain the blocker. Do not modify Uni-CLI source code from this skill; write research artifacts and reproduction code only after the binary evidence is gathered. ## Outputs Create a research bundle under `<workspace>/research/`: - `SHARED-CONTEXT.md` with target paths, bundle IDs, signing status, IDA MCP instance mapping, and priors to verify. - `findings/<phase-or-question>.md` for call-site maps and open questions. - `sub_<addr>-<label>.md` for every decompiled function used as evidence. - `frame-map.md` for Swift async task-frame offsets. - `FINAL-REPORT.md` with behavior spec, evidence table, reproduction diff, and VM test plan. If asked to build a reproduction, add: - `Sources/<Module>/BackgroundClicker.swift` - `EchoApp/main.swift` - `impl-research.md` with empirical VM runs. ## Priors To Verify Treat these as hypotheses until confirmed in the target binary: - Events are posted with `CGEvent.postToPid(_:)`. - The synthetic event starts as `NSEvent.mouseEvent(...)`, then uses `event.cgEvent`. - Explicit integer fields are `3` button, `7` subtype value `3`, `91` window under pointer, and `92` window that can handle the event. - Screen location is set, read back, translated by the target window origin, and written with `CGEventSetWindowLocation` resolved by `dlsym`. - Background targets receive `CGEventFlags...

Details

Author
olo-dot-io
Repository
olo-dot-io/Uni-CLI
Created
3 months ago
Last Updated
yesterday
Language
TypeScript
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Listed

reverse-engineer

Reverse engineer how an application implements a mechanism so it can be replicated. Use when the user asks how an app does something, how a feature or protocol works under the hood, or wants design notes to reimplement a behavior (download chunking, retry, sync, auth flow, caching) from a repository, an installed build, or a closed-source app known only by name.

1 Updated today
Firzus
AI & Automation Featured

reverse-engineer

Reverse-engineer an authorized repo, binary, or product into a verifiable feature inventory and adoption map. Triggers: "reverse-engineer X", "tear down Y", "what should we steal from Z", "evaluate competitor/upstream", "should we fork/adopt/build-native".

414 Updated today
boshu2
Code & Development Solid

peekaboo

Drive, observe, and critique a running native macOS app (SwiftUI/AppKit) end-to-end via Peekaboo — the macOS-native equivalent of Playwright + visual-regression review. Use when the user mentions the Mac app's UI, screens, screenshots, appearance, layout, accessibility identifiers, clicking, typing, or menus — or says 'see what it looks like', 'show me the UI', 'click X', 'take a screenshot of the app', 'critique the design', 'drive the app'. Use after a SwiftUI/AppKit edit or rebuild, and before claiming a UI feature done. NOT for Electron or web apps (use the electron-playwright validator), NOT for iOS simulators (use the Maestro validator), NOT for purely backend work. Screenshots go to disk and each one is read by a separate same-model sub-agent, so the driver's context never fills with pixels; no external AI keys are used.

11 Updated today
johnkozaris