[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GRYA1RTG9V6QS2FN27Z7W8":3,"skill-same:01M6GRYA1RTG9V6QS2FN27Z7W8":491},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":16,"sourceHtmlUrl":17,"categories":18,"keywords":19,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":41,"ownerDescription":42,"updatedAt":43,"install":44,"resources":57},"01M6GRYA1RTG9V6QS2FN27Z7W8","ghidra-core",null,"运行 Ghidra RPC、导入与项目管理、事务、标注、导出、daemon 起停与执行排障时使用。分析方法见 ghidra-static\u002Fre-dynamic；通用任务状态见 analysis-session。","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"MIT","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002FSKILL.md",[],[20,21,22,23,24,25,26,27,28,29],"core","ghidra","ghidra core","rpc","analysis","session","re","daemon","static","项目管理","2026-11-10 10:12:30",false,"---\nname: ghidra-core\ndescription: 运行 Ghidra RPC、导入与项目管理、事务、标注、导出、daemon 起停与执行排障时使用。分析方法见 ghidra-static\u002Fre-dynamic；通用任务状态见 analysis-session。\n---\n\n# ghidra-core\n\n## 输入与输出\n\n输入是样本路径、项目、函数\u002F地址及操作；输出为 RPC JSON、导出文件与执行诊断。结果含地址时记录 image base、处理器和分析配置。脚本入口保留兼容路径。\n\n## 最短可用流程\n\n```bash\nSK=\"${DSH_HOME:-$HOME\u002F.dsh}\u002Fskills\u002Fghidra-core\u002Fscripts\"\npython3 \"$SK\u002Frpc_driver.py\" ensure \u002Fpath\u002Fto\u002Fsample\npython3 \"$SK\u002Frpc_driver.py\" decompile \u002Fpath\u002Fto\u002Fsample main\npython3 \"$SK\u002Frpc_driver.py\" \"@\u002Fpath\u002Fto\u002Fout.json\" triage \u002Fpath\u002Fto\u002Fsample\n```\n\n`ensure` 可启动对应 daemon、导入样本并分析。`@out` 为首参数。批量查询可选 decompile-all\u002Fsearch-decompiled，写操作使用 Ghidra 事务并自动存盘。项目写锁与 daemon 内 handler 串行锁都需尊重；同一 daemon 多代理排队不会自然提速。共享变更由 analysis-session 的 lease\u002Fguard 协调，锁只覆盖经该入口发起的操作。\n\n## 执行与故障\n\n按需用 `doctor.py --quick` 查 Ghidra 核心；跨工具环境用 analysis-session 的 discover，使用前只测当前需要的工具。路径\u002F版本由探针获得，本机候选放在 runtime\u002Fenvironment.json。Ghidra 工作区路径仍遵守实际引擎的路径限制；勿改变在用项目的属主或目录。导入复用需同时核对样本哈希、处理器和分析配置。\n\ndaemon 故障先查对应实例与日志，必要时停止并重启该实例；不宽泛 pkill。命令用法 `rpc_driver.py --help` 或 [rpc-commands.md](references\u002Frpc-commands.md)，GUI\u002Flegacy\u002F移植问题按下面索引读取。非 Ghidra 方法与运行能力已有独立入口，旧 scripts 路径为兼容包装。\n\n## 会话与交接\n\n按当前问题选方法，可静态先行、动态先行或直接建模。连续实验没有新增证据时盘点前提和可区分解释的实验；时间盒用于复查，可说明价值后继续原路线。\n\n简单单点查询记录最小证据即可；多阶段、恢复或协作任务按需使用 analysis-session，记录关键结论、目标代次、实验干预和未决问题。普通工具事件由运行层记录。候选与外部接受分别说明，可交付限定范围的未完成报告。共享项目写操作协调所有权；未获变更权时先只读。\n\n## 补充专题入口\n\n- [crypto-ident](references\u002Fcrypto-ident.md)：当前问题涉及文件名对应专题时按需读取。\n- [evidence-ledger](references\u002Fevidence-ledger.md)：当前问题涉及文件名对应专题时按需读取。\n- [headless](references\u002Fheadless.md)：当前问题涉及文件名对应专题时按需读取。\n- [pyghidra-migration](references\u002Fpyghidra-migration.md)：当前问题涉及文件名对应专题时按需读取。\n- [scripting](references\u002Fscripting.md)：当前问题涉及文件名对应专题时按需读取。\n- [unicorn-harness](references\u002Funicorn-harness.md)：当前问题涉及文件名对应专题时按需读取。\n- [windows-powershell](references\u002Fwindows-powershell.md)：当前问题涉及文件名对应专题时按需读取。\n","# ghidra-core\n\n## 输入与输出\n\n输入是样本路径、项目、函数\u002F地址及操作；输出为 RPC JSON、导出文件与执行诊断。结果含地址时记录 image base、处理器和分析配置。脚本入口保留兼容路径。\n\n## 最短可用流程\n\n```bash\nSK=\"${DSH_HOME:-$HOME\u002F.dsh}\u002Fskills\u002Fghidra-core\u002Fscripts\"\npython3 \"$SK\u002Frpc_driver.py\" ensure \u002Fpath\u002Fto\u002Fsample\npython3 \"$SK\u002Frpc_driver.py\" decompile \u002Fpath\u002Fto\u002Fsample main\npython3 \"$SK\u002Frpc_driver.py\" \"@\u002Fpath\u002Fto\u002Fout.json\" triage \u002Fpath\u002Fto\u002Fsample\n```\n\n`ensure` 可启动对应 daemon、导入样本并分析。`@out` 为首参数。批量查询可选 decompile-all\u002Fsearch-decompiled，写操作使用 Ghidra 事务并自动存盘。项目写锁与 daemon 内 handler 串行锁都需尊重；同一 daemon 多代理排队不会自然提速。共享变更由 analysis-session 的 lease\u002Fguard 协调，锁只覆盖经该入口发起的操作。\n\n## 执行与故障\n\n按需用 `doctor.py --quick` 查 Ghidra 核心；跨工具环境用 analysis-session 的 discover，使用前只测当前需要的工具。路径\u002F版本由探针获得，本机候选放在 runtime\u002Fenvironment.json。Ghidra 工作区路径仍遵守实际引擎的路径限制；勿改变在用项目的属主或目录。导入复用需同时核对样本哈希、处理器和分析配置。\n\ndaemon 故障先查对应实例与日志，必要时停止并重启该实例；不宽泛 pkill。命令用法 `rpc_driver.py --help` 或 [rpc-commands.md](references\u002Frpc-commands.md)，GUI\u002Flegacy\u002F移植问题按下面索引读取。非 Ghidra 方法与运行能力已有独立入口，旧 scripts 路径为兼容包装。\n\n## 会话与交接\n\n按当前问题选方法，可静态先行、动态先行或直接建模。连续实验没有新增证据时盘点前提和可区分解释的实验；时间盒用于复查，可说明价值后继续原路线。\n\n简单单点查询记录最小证据即可；多阶段、恢复或协作任务按需使用 analysis-session，记录关键结论、目标代次、实验干预和未决问题。普通工具事件由运行层记录。候选与外部接受分别说明，可交付限定范围的未完成报告。共享项目写操作协调所有权；未获变更权时先只读。\n\n## 补充专题入口\n\n- [crypto-ident](references\u002Fcrypto-ident.md)：当前问题涉及文件名对应专题时按需读取。\n- [evidence-ledger](references\u002Fevidence-ledger.md)：当前问题涉及文件名对应专题时按需读取。\n- [headless](references\u002Fheadless.md)：当前问题涉及文件名对应专题时按需读取。\n- [pyghidra-migration](references\u002Fpyghidra-migration.md)：当前问题涉及文件名对应专题时按需读取。\n- [scripting](references\u002Fscripting.md)：当前问题涉及文件名对应专题时按需读取。\n- [unicorn-harness](references\u002Funicorn-harness.md)：当前问题涉及文件名对应专题时按需读取。\n- [windows-powershell](references\u002Fwindows-powershell.md)：当前问题涉及文件名对应专题时按需读取。\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fdev-tools\u002Fcristallin2006-ghidra-core",17,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia","https:\u002F\u002Feth2030.com","Hardcore infra. Building @alt-research and applied cryptography.","2026-11-15 02:28:10",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill ghidra-core",{"tool":50,"command":51},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill ghidra-core",{"tool":53,"command":54},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill ghidra-core","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002FSKILL.md",true,[58,64,68,72,76,80,84,88,92,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,212,216,220,224,228,232,236,240,244,248,251,255,259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359,363,367,371,375,379,383,387,391,395,399,403,407,411,415,419,423,427,431,435,439,443,447,451,455,459,463,467,471,475,479,483,487],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"engine\u002Fghidra-rpc\u002Fdocs\u002Fflows\u002Fandroid-apk.md","REFERENCE","参考文档",7614,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fdocs\u002Fflows\u002Fandroid-apk.md",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"engine\u002Fghidra-rpc\u002Fdocs\u002Fflows\u002Fbinary-audit.md",1150,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fdocs\u002Fflows\u002Fbinary-audit.md",{"path":69,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":70,"sourceHtmlUrl":71},"engine\u002Fghidra-rpc\u002Fdocs\u002Fflows\u002Fpatch-analysis.md",5248,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fdocs\u002Fflows\u002Fpatch-analysis.md",{"path":73,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":74,"sourceHtmlUrl":75},"engine\u002Fghidra-rpc\u002Fdocs\u002Fflows\u002Fvulnerability-research.md",1330,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fdocs\u002Fflows\u002Fvulnerability-research.md",{"path":77,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":78,"sourceHtmlUrl":79},"engine\u002Fghidra-rpc\u002Fdocs\u002Finstall.md",2517,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fdocs\u002Finstall.md",{"path":81,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":82,"sourceHtmlUrl":83},"engine\u002Fghidra-rpc\u002Fdocs\u002Finternals.md",9749,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fdocs\u002Finternals.md",{"path":85,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":86,"sourceHtmlUrl":87},"engine\u002Fghidra-rpc\u002Fdocs\u002Fquickstart.md",3289,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fdocs\u002Fquickstart.md",{"path":89,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":90,"sourceHtmlUrl":91},"engine\u002Fghidra-rpc\u002Fdocs\u002Ftroubleshooting.md",7800,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fdocs\u002Ftroubleshooting.md",{"path":93,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":96,"sourceHtmlUrl":97},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002F__init__.py","SCRIPT","脚本",99,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002F__init__.py",{"path":99,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":100,"sourceHtmlUrl":101},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fcli.py",94561,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fcli.py",{"path":103,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":104,"sourceHtmlUrl":105},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fclient.py",5844,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fclient.py",{"path":107,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":108,"sourceHtmlUrl":109},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fdaemon.py",5974,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fdaemon.py",{"path":111,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":112,"sourceHtmlUrl":113},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002F__init__.py",33,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002F__init__.py",{"path":115,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":116,"sourceHtmlUrl":117},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002F_gui_launcher.py",3044,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002F_gui_launcher.py",{"path":119,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":120,"sourceHtmlUrl":121},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Fcontext.py",37091,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Fcontext.py",{"path":123,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":124,"sourceHtmlUrl":125},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Flauncher.py",4583,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Flauncher.py",{"path":127,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":128,"sourceHtmlUrl":129},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Fmain.py",5720,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Fmain.py",{"path":131,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":132,"sourceHtmlUrl":133},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002F__init__.py",1056,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002F__init__.py",{"path":135,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":136,"sourceHtmlUrl":137},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fanalysis.py",13838,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fanalysis.py",{"path":139,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":140,"sourceHtmlUrl":141},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fbookmarks.py",8179,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fbookmarks.py",{"path":143,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":144,"sourceHtmlUrl":145},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fcfg.py",9709,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fcfg.py",{"path":147,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":148,"sourceHtmlUrl":149},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fcpp.py",5669,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fcpp.py",{"path":151,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":152,"sourceHtmlUrl":153},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fdata_types.py",50004,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fdata_types.py",{"path":155,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":156,"sourceHtmlUrl":157},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fdecompiler.py",10101,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fdecompiler.py",{"path":159,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":160,"sourceHtmlUrl":161},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fdisassembly.py",13858,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fdisassembly.py",{"path":163,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":164,"sourceHtmlUrl":165},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fdsh_tools.py",33627,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fdsh_tools.py",{"path":167,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":168,"sourceHtmlUrl":169},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fmemory.py",14981,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fmemory.py",{"path":171,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":172,"sourceHtmlUrl":173},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fmodifications.py",68349,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fmodifications.py",{"path":175,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":176,"sourceHtmlUrl":177},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fnavigation.py",783,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fnavigation.py",{"path":179,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":180,"sourceHtmlUrl":181},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fprocessor_context.py",7897,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fprocessor_context.py",{"path":183,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":184,"sourceHtmlUrl":185},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fsearch.py",8801,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fsearch.py",{"path":187,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":188,"sourceHtmlUrl":189},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Ftags.py",6937,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Ftags.py",{"path":191,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":192,"sourceHtmlUrl":193},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fversion_tracking.py",29022,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fversion_tracking.py",{"path":195,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":196,"sourceHtmlUrl":197},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fxrefs.py",12213,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fserver\u002Ftools\u002Fxrefs.py",{"path":199,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":200,"sourceHtmlUrl":201},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fsession.py",8937,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Fsession.py",{"path":203,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":204,"sourceHtmlUrl":205},"engine\u002Fghidra-rpc\u002Fghidra_rpc\u002Ftransport.py",4714,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fghidra_rpc\u002Ftransport.py",{"path":207,"resourceType":208,"resourceTypeDesc":209,"sizeBytes":210,"sourceHtmlUrl":211},"engine\u002Fghidra-rpc\u002Fpyproject.toml","OTHER","其他",715,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002Fpyproject.toml",{"path":213,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":214,"sourceHtmlUrl":215},"engine\u002Fghidra-rpc\u002FREADME.md",5299,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002Fghidra-rpc\u002FREADME.md",{"path":217,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":218,"sourceHtmlUrl":219},"engine\u002FVENDOR.md",2271,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fengine\u002FVENDOR.md",{"path":221,"resourceType":221,"resourceTypeDesc":222,"sizeBytes":223,"sourceHtmlUrl":16},"LICENSE","许可证",1140,{"path":225,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":226,"sourceHtmlUrl":227},"references\u002Fcrypto-ident.md",125,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Freferences\u002Fcrypto-ident.md",{"path":229,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":230,"sourceHtmlUrl":231},"references\u002Fevidence-ledger.md",1596,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Freferences\u002Fevidence-ledger.md",{"path":233,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":234,"sourceHtmlUrl":235},"references\u002Fheadless.md",8110,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Freferences\u002Fheadless.md",{"path":237,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":238,"sourceHtmlUrl":239},"references\u002Fpyghidra-migration.md",7063,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Freferences\u002Fpyghidra-migration.md",{"path":241,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":242,"sourceHtmlUrl":243},"references\u002Frpc-commands.md",13078,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Freferences\u002Frpc-commands.md",{"path":245,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":246,"sourceHtmlUrl":247},"references\u002Fscripting.md",9566,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Freferences\u002Fscripting.md",{"path":249,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":226,"sourceHtmlUrl":250},"references\u002Funicorn-harness.md","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Freferences\u002Funicorn-harness.md",{"path":252,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":253,"sourceHtmlUrl":254},"references\u002Fwindows-powershell.md",3342,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Freferences\u002Fwindows-powershell.md",{"path":256,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":257,"sourceHtmlUrl":258},"scripts\u002Fadd_comment.py",5815,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fadd_comment.py",{"path":260,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":261,"sourceHtmlUrl":262},"scripts\u002Fanalysis_config.py",3086,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fanalysis_config.py",{"path":264,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":265,"sourceHtmlUrl":266},"scripts\u002Fanalyze_binary.py",4329,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fanalyze_binary.py",{"path":268,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":269,"sourceHtmlUrl":270},"scripts\u002Fapply_c_types.py",5354,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fapply_c_types.py",{"path":272,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":273,"sourceHtmlUrl":274},"scripts\u002Fapply_data_type.py",4868,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fapply_data_type.py",{"path":276,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":277,"sourceHtmlUrl":278},"scripts\u002Fcall_histogram.py",4487,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fcall_histogram.py",{"path":280,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":281,"sourceHtmlUrl":282},"scripts\u002Fcone_invert.py",658,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fcone_invert.py",{"path":284,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":285,"sourceHtmlUrl":286},"scripts\u002Fconst_audit.py",10743,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fconst_audit.py",{"path":288,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":289,"sourceHtmlUrl":290},"scripts\u002Fconst_scan.py",27348,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fconst_scan.py",{"path":292,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":293,"sourceHtmlUrl":294},"scripts\u002Fcrypto_sanity.py",11222,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fcrypto_sanity.py",{"path":296,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":297,"sourceHtmlUrl":298},"scripts\u002Fdecomp_lint.py",14083,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fdecomp_lint.py",{"path":300,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":301,"sourceHtmlUrl":302},"scripts\u002Fdecompile_all.py",7221,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fdecompile_all.py",{"path":304,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":305,"sourceHtmlUrl":306},"scripts\u002Fdecompile_function.py",8806,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fdecompile_function.py",{"path":308,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":309,"sourceHtmlUrl":310},"scripts\u002Fdoctor.py",39080,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fdoctor.py",{"path":312,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":313,"sourceHtmlUrl":314},"scripts\u002Fdriver.py",22038,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fdriver.py",{"path":316,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":317,"sourceHtmlUrl":318},"scripts\u002Femulate_blob.py",11294,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Femulate_blob.py",{"path":320,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":321,"sourceHtmlUrl":322},"scripts\u002Femulate_function.py",13086,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Femulate_function.py",{"path":324,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":325,"sourceHtmlUrl":326},"scripts\u002Femulate_program.py",42346,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Femulate_program.py",{"path":328,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":329,"sourceHtmlUrl":330},"scripts\u002Fexec_code.py",5290,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fexec_code.py",{"path":332,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":333,"sourceHtmlUrl":334},"scripts\u002Fexport_binary.py",4392,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fexport_binary.py",{"path":336,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":337,"sourceHtmlUrl":338},"scripts\u002Fframe_map.py",8959,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fframe_map.py",{"path":340,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":341,"sourceHtmlUrl":342},"scripts\u002Fget_basic_blocks.py",7123,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fget_basic_blocks.py",{"path":344,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":345,"sourceHtmlUrl":346},"scripts\u002Fget_call_graph.py",8723,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fget_call_graph.py",{"path":348,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":349,"sourceHtmlUrl":350},"scripts\u002Fget_data_at_address.py",9503,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fget_data_at_address.py",{"path":352,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":353,"sourceHtmlUrl":354},"scripts\u002Fget_disassembly.py",7773,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fget_disassembly.py",{"path":356,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":357,"sourceHtmlUrl":358},"scripts\u002Fget_memory_map.py",4901,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fget_memory_map.py",{"path":360,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":361,"sourceHtmlUrl":362},"scripts\u002Fget_symbols.py",8376,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fget_symbols.py",{"path":364,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":365,"sourceHtmlUrl":366},"scripts\u002Fget_xrefs.py",7653,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fget_xrefs.py",{"path":368,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":369,"sourceHtmlUrl":370},"scripts\u002Fguarded_run.py",640,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fguarded_run.py",{"path":372,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":373,"sourceHtmlUrl":374},"scripts\u002Fjt_resolve.py",18550,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fjt_resolve.py",{"path":376,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":377,"sourceHtmlUrl":378},"scripts\u002Flaunch_gui.py",4349,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Flaunch_gui.py",{"path":380,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":381,"sourceHtmlUrl":382},"scripts\u002Flayer_dump.py",650,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Flayer_dump.py",{"path":384,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":385,"sourceHtmlUrl":386},"scripts\u002Fledger.py",644,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fledger.py",{"path":388,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":389,"sourceHtmlUrl":390},"scripts\u002Flist_classes.py",9330,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Flist_classes.py",{"path":392,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":393,"sourceHtmlUrl":394},"scripts\u002Flist_functions.py",5347,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Flist_functions.py",{"path":396,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":397,"sourceHtmlUrl":398},"scripts\u002Fmodel_diff.py",12708,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fmodel_diff.py",{"path":400,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":401,"sourceHtmlUrl":402},"scripts\u002Fmodel_structure.py",3962,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fmodel_structure.py",{"path":404,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":405,"sourceHtmlUrl":406},"scripts\u002Fnoreturn_fix.py",8945,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fnoreturn_fix.py",{"path":408,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":409,"sourceHtmlUrl":410},"scripts\u002Foracle_family.py",656,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Foracle_family.py",{"path":412,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":413,"sourceHtmlUrl":414},"scripts\u002Fpatch_bytes.py",10108,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fpatch_bytes.py",{"path":416,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":417,"sourceHtmlUrl":418},"scripts\u002Fpe_info.py",3576,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fpe_info.py",{"path":420,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":421,"sourceHtmlUrl":422},"scripts\u002Fpeel_inverse.py",660,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fpeel_inverse.py",{"path":424,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":425,"sourceHtmlUrl":426},"scripts\u002Fread_views.py",7779,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fread_views.py",{"path":428,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":429,"sourceHtmlUrl":430},"scripts\u002Frename_symbol.py",6630,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Frename_symbol.py",{"path":432,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":433,"sourceHtmlUrl":434},"scripts\u002Frpc_driver.py",17176,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Frpc_driver.py",{"path":436,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":437,"sourceHtmlUrl":438},"scripts\u002Fsearch_bytes.py",8271,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fsearch_bytes.py",{"path":440,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":441,"sourceHtmlUrl":442},"scripts\u002Fsearch_strings.py",5975,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fsearch_strings.py",{"path":444,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":445,"sourceHtmlUrl":446},"scripts\u002Fset_analysis_options.py",2128,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fset_analysis_options.py",{"path":448,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":449,"sourceHtmlUrl":450},"scripts\u002Fset_function_signature.py",6373,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fset_function_signature.py",{"path":452,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":453,"sourceHtmlUrl":454},"scripts\u002Fssa_reconstruct.py",5782,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fssa_reconstruct.py",{"path":456,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":457,"sourceHtmlUrl":458},"scripts\u002Fssa_trace.py",11788,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fssa_trace.py",{"path":460,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":461,"sourceHtmlUrl":462},"scripts\u002Ftransform_search.py",17455,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Ftransform_search.py",{"path":464,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":465,"sourceHtmlUrl":466},"scripts\u002Ftriage_scan.py",16596,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Ftriage_scan.py",{"path":468,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":469,"sourceHtmlUrl":470},"scripts\u002Funreferenced_data.py",11807,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Funreferenced_data.py",{"path":472,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":473,"sourceHtmlUrl":474},"scripts\u002Funreferenced_funcs.py",11496,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Funreferenced_funcs.py",{"path":476,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":477,"sourceHtmlUrl":478},"scripts\u002Fvenv_health.py",4503,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fvenv_health.py",{"path":480,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":481,"sourceHtmlUrl":482},"scripts\u002Fxor_scan.py",13430,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002Fscripts\u002Fxor_scan.py",{"path":484,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":485,"sourceHtmlUrl":486},"SOURCE.md",361,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002FSOURCE.md",{"path":488,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":489,"sourceHtmlUrl":490},"TRUST.auto.yaml",2251,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fcristallin2006-ghidra-core\u002FTRUST.auto.yaml",[492,519,542,560,573,583],{"skillNo":493,"name":494,"nameZh":6,"description":495,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":496,"sourceHtmlUrl":497,"categories":498,"keywords":499,"publishedAt":30},"01M712C436EQYE43342Q4E7GG1","recipe-performance","Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold\u002Fwarm\u002Fbackground-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout\u002Fpaint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FSKILL.md",[],[500,501,502,503,504,505,506,507,508,509,510,511,24,512,513,514,515,516,517,518],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","tasks","react","browser","layout","screen","network","metamask",{"skillNo":520,"name":521,"nameZh":6,"description":522,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":523,"licenseFileUrl":524,"sourceHtmlUrl":525,"categories":526,"keywords":527,"publishedAt":30},"01M70XT2F8A5CQZ81JBP98KSW3","mexc-spot-websocket","MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FSKILL.md",[],[528,529,530,531,532,533,534,535,536,537,538,539,540,541],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":543,"name":544,"nameZh":6,"description":545,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":523,"licenseFileUrl":546,"sourceHtmlUrl":547,"categories":548,"keywords":549,"publishedAt":30},"01M70XT0MBXN3WZY1BKN0CPNKR","mexc-spot-rest","MEXC Spot REST workflows for public data, signed account requests, orders, wallet\u002Fadmin actions, and secure signing without exposing API keys.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FSKILL.md",[],[550,529,551,552,553,554,555,539,538,537,556,557,558,533,559,532,531],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":561,"name":562,"nameZh":6,"description":563,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":523,"licenseFileUrl":564,"sourceHtmlUrl":565,"categories":566,"keywords":567,"publishedAt":30},"01M70XSYSVZ2N0N91XCAR2CAK0","mexc-futures-websocket","MEXC Futures WebSocket workflows for public streams, private account\u002Forder\u002Fposition streams, ping\u002Fpong, subscriptions, and depth maintenance.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FSKILL.md",[],[568,569,530,570,571,540,538,572,536,535,533,532],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":574,"name":575,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":576,"sourceHtmlUrl":577,"categories":578,"keywords":579,"publishedAt":30},"01M6H0ZWHVE5W04WG2DKQE2SQC","0xklen-version-and-refresh-sanctions-lists","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FSKILL.md",[],[580,581,582],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":584,"name":585,"nameZh":6,"description":586,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":587,"sourceHtmlUrl":588,"categories":589,"keywords":590,"publishedAt":30},"01M6H0Z28Q3R8J0S799GJQWXM3","verify-tests-cover-changed-lines","Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FSKILL.md",[],[591,592,593,594,595,596,597,598,599,600,601],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","use","patch","code","share"]