Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

debuggerdebugger 搜索

Agent Skill

debugger 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

192

周安装

8

GitHub Stars

18

下载量

64
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:debugger(debugger 搜索)
来源仓库:https://github.com/allthingsida/idasql-skills
仓库路径:skills/debugger
安装命令:
npx skills add https://github.com/allthingsida/idasql-skills --skill debugger
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/allthingsida/idasql-skills --skill debugger

简介

debugger 用于 IDA SQL 调试,支持断点管理、补丁操作和分析驱动工作流。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中进行逆向工程和补丁开发时使用。
  • 支持添加/移除断点、修补字节码、创建补丁库存和操作计划。
  • 安装前需确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 使用前需查询当前断点和补丁库存,确保操作上下文准确。

SKILL.md


Trigger Intents

Use this skill when user asks to:

  • add/remove/modify breakpoints
  • patch bytes or revert patches
  • create patch inventories and debugging action plans
  • instrument analysis-driven break/watch workflows

Route to:

  • analysis/xrefs for selecting meaningful targets first
  • disassembly for opcode-level patch context
  • annotations for documenting patch rationale and outcomes

Do This First (Warm-Start Sequence)

-- 1) Current breakpoint inventory
SELECT printf('0x%X', address) AS addr, type_name, enabled
FROM breakpoints
ORDER BY address;

-- 2) Current patch inventory
SELECT printf('0x%X', ea) AS ea, original_value, patched_value
FROM patched_bytes
ORDER BY ea
LIMIT 50;

-- 3) Validate target bytes before patch
SELECT ea, value, original_value, is_patched
FROM bytes
WHERE ea = 0x401000;

Interpretation guidance:

  • Confirm existing instrumentation before adding more.
  • Always snapshot current/original byte state before mutating.

Failure and Recovery

  • Breakpoint insert/update failed:

- Validate address existence and hardware size/type compatibility.

  • Patch verification mismatch:

- Re-read bytes and patched_bytes, then retry with precise address.

  • Unintended patch side effects:

- Revert with revert_byte(...) and reassess target instruction context.


Handoff Patterns

  1. debugger -> disassembly to validate instruction semantics around patch site.
  2. debugger -> xrefs to assess blast radius of patched/broken call paths.
  3. debugger -> annotations to leave durable analyst breadcrumbs.

breakpoints

Debugger breakpoints. Supports full CRUD (SELECT, INSERT, UPDATE, DELETE). Breakpoints persist in the IDB even without an active debugger session.

ColumnTypeRWDescription
addressINTRBreakpoint address
enabledINTRW1=enabled, 0=disabled
typeINTRWBreakpoint type (0=software, 1=hw_write, 2=hw_read, 3=hw_rdwr, 4=hw_exec)
type_nameTEXTRType name (software, hardware_write, etc.)
sizeINTRWBreakpoint size (for hardware breakpoints)
flagsINTRWBreakpoint flags
pass_countINTRWPass count before trigger
conditionTEXTRWCondition expression
loc_typeINTRLocation type code
loc_type_nameTEXTRLocation type (absolute, relative, symbolic, source)
moduleTEXTRModule path (relative breakpoints)
symbolTEXTRSymbol name (symbolic breakpoints)
offsetINTROffset (relative/symbolic)
source_fileTEXTRSource file (source breakpoints)
source_lineINTRSource line number
is_hardwareINTR1=hardware breakpoint
is_activeINTR1=currently active
groupTEXTRWBreakpoint group name
bptidINTRBreakpoint ID
-- List all breakpoints
SELECT printf('0x%08X', address) as addr, type_name, enabled, condition
FROM breakpoints;

-- Add software breakpoint
INSERT INTO breakpoints (address) VALUES (0x401000);

-- Add hardware write watchpoint
INSERT INTO breakpoints (address, type, size) VALUES (0x402000, 1, 4);

-- Add conditional breakpoint
INSERT INTO breakpoints (address, condition) VALUES (0x401000, 'eax == 0');

-- Disable a breakpoint
UPDATE breakpoints SET enabled = 0 WHERE address = 0x401000;

-- Delete a breakpoint
DELETE FROM breakpoints WHERE address = 0x401000;

-- Find which functions have breakpoints
SELECT b.address, f.name, b.type_name, b.enabled
FROM breakpoints b
JOIN funcs f ON b.address >= f.address AND b.address < f.end_ea;

bytes (Byte Patching)

Byte-wise program view with patch support.

ColumnTypeRWDescription
eaINTRAddress
valueINTRWCurrent byte value (UPDATE patches byte)
original_valueINTROriginal byte value before patch
sizeINTRItem size at address
typeTEXTRItem type (code, data, etc.)
is_patchedINTR1 if byte differs from original
-- Read one address
SELECT ea, value, original_value, is_patched
FROM bytes WHERE ea = 0x401000;

-- Patch via table update
UPDATE bytes SET value = 0x90 WHERE ea = 0x401000;

-- Inspect patch inventory
SELECT * FROM patched_bytes LIMIT 20;

-- Persist once done
SELECT save_database();

patched_bytes

All patched locations tracked by IDA.

ColumnTypeDescription
eaINTPatched address
original_valueINTOriginal byte value
patched_valueINTCurrent patched value
fposINTFile offset when available
SELECT printf('0x%X', ea) AS ea,
       printf('0x%02X', original_value) AS old,
       printf('0x%02X', patched_value) AS new
FROM patched_bytes
ORDER BY ea;

SQL Functions — Byte Patching

FunctionDescription
bytes(addr, n)Read n bytes as hex string
bytes_raw(addr, n)Read n bytes as BLOB
load_file_bytes(path, file_offset, address, size[, patchable])Load patch bytes from a host file into memory/file image
patch_byte(addr, val)Patch one byte at addr (returns 1/0)
patch_word(addr, val)Patch 2 bytes at addr (returns 1/0)
patch_dword(addr, val)Patch 4 bytes at addr (returns 1/0)
patch_qword(addr, val)Patch 8 bytes at addr (returns 1/0)
revert_byte(addr)Revert one patched byte to original
get_original_byte(addr)Read original (pre-patch) byte
-- Read bytes
SELECT bytes(0x401000, 16);

-- Patch one byte (example: NOP)
SELECT patch_byte(0x401000, 0x90) AS ok;

-- Verify current vs original
SELECT bytes(0x401000, 1) AS current, get_original_byte(0x401000) AS original;

-- Revert patch
SELECT revert_byte(0x401000) AS reverted;

-- Persist patches explicitly
SELECT save_database();

load_file_bytes(...) is the bulk alternative to patch_* helpers when patch content already exists in a file.


Analysis-Driven Breakpoint Workflows

Set breakpoints on all callers of a security-sensitive API

Use disasm_calls to find every call site and batch-insert breakpoints:

-- Breakpoint on every call to VirtualAlloc (or similar)
INSERT INTO breakpoints (address)
SELECT ea FROM disasm_calls WHERE callee_name LIKE '%VirtualAlloc%';

-- Verify
SELECT printf('0x%08X', address) AS addr, type_name, enabled
FROM breakpoints;

Watchpoints on struct fields discovered via type analysis

After recovering a struct, set hardware watchpoints on specific field offsets:

-- Hardware write watchpoint on a 4-byte field (e.g., config.flags at base+0x10)
-- First, find where the struct base is stored (requires manual analysis)
INSERT INTO breakpoints (address, type, size) VALUES (0x402010, 1, 4);
-- type=1 is hardware_write, size=4 for DWORD field

Conditional breakpoints from decompiler analysis

Set breakpoints that only trigger when specific conditions are met:

-- Break when first argument (rcx on x64 fastcall) equals a specific enum value
INSERT INTO breakpoints (address, condition)
VALUES (0x401000, 'rcx == 3');

-- Break on error return
INSERT INTO breakpoints (address, condition)
VALUES (0x401050, 'rax == 0xFFFFFFFF');

Patching Workflows

NOP out anti-debug checks

Find and neutralize IsDebuggerPresent checks:

-- Find calls to IsDebuggerPresent
SELECT dc.ea, func_at(dc.func_addr) AS func_name,
       disasm_at(dc.ea, 2) AS context
FROM disasm_calls dc
WHERE dc.callee_name LIKE '%IsDebuggerPresent%';

-- Patch the conditional jump after the check (example: jnz → nop nop)
-- First inspect the instruction after the call
SELECT disasm_at(0x401030, 3);
-- Then patch (adjust addresses based on actual binary)
SELECT patch_byte(0x401035, 0x90);
SELECT patch_byte(0x401036, 0x90);

Inventory all patches and generate report

-- Full patch report: what was changed and where
SELECT printf('0x%X', ea) AS address,
       func_at(ea) AS func_name,
       printf('0x%02X', original_value) AS original,
       printf('0x%02X', patched_value) AS patched,
       disasm_at(ea) AS context
FROM patched_bytes
ORDER BY ea;

Performance Notes

TableSizeConstraintNotes
breakpointsSmall (<100 typical)none neededAlways fast
bytesEntire address spaceeaCritical — without ea constraint, iterates entire address space
patched_bytesSmall (patch count)none neededScans all patches, usually tiny
  • breakpoints table is small — full scans are fine.
  • bytes table maps the entire virtual address space. Never query without WHERE ea = X or a tight address range.
  • patched_bytes iterates only patched locations — always fast.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.92%
按下载量换算24

Claude

28.52%
按下载量换算18

Cursor

17.24%
按下载量换算11

Gemini CLI

8.95%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills