ContextMenu Manager Plus 深入分析实战在隔离进程中安全查看未知 Shell Extension 的真面目【免费下载链接】ContextMenuMgrContext Menu Manager Plus 是一个强大的实用程序它可帮助您管理 Windows 上的右键菜单并避免第三方向你的右键菜单里塞屎项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuMgrContextMenu Manager Plus 是一款面向 Windows 的右键菜单管理器它的深入分析Deep Analysis功能可以启动一个独立的隔离进程 ProbeHost去真实加载并探测未知的 Shell Extension安全地把第三方软件塞进右键菜单的菜单项现形。本文带你了解它为什么必须隔离运行、一次分析是如何完成的以及如何解读分析结果。为什么不能顺手加载未知 Shell Extension Windows 右键菜单项大多由第三方 in-process COM DLL 提供。要看到它真正插进菜单的文字和图标程序必须在自己进程内创建这个 COM handler 并调用IContextMenu.QueryContextMenu——这一步风险极高风险后果崩溃第三方 DLL 的访问违例会直接拖垮宿主进程卡死handler 可能阻塞宿主线程异常行为依赖 Explorer 环境、选中文件等外部条件架构限制x86 handler 无法加载进 x64 进程如果把这件事放在主程序里做一个来路不明的 DLL 就可能让整个菜单管理器陪葬。这就是 ContextMenu Manager Plus 设计ProbeHost 隔离进程的出发点。ProbeHost一个可牺牲的隔离进程 ️ContextMenuMgr.ProbeHost是一个短生命周期的原生 C Win32 程序它在整个分析流程中扮演排雷兵角色边界非常清晰只读只读取必要的 COM 信息并执行探测不写注册表不执行命令只枚举菜单文字不调用任何菜单命令不常驻仅在用户点击深入分析时由前端按需启动可以失败超时、崩溃、无结果都是被容忍的正常失败不会牵连主程序前端会根据 handler DLL 的 PE 架构自动挑选同架构的 ProbeHosthandler 架构选择的 ProbeHostx86ProbeHost\x86\ContextMenuMgr.ProbeHost.exex64ProbeHost\x64\ContextMenuMgr.ProbeHost.exearm64ProbeHost\arm64\ContextMenuMgr.ProbeHost.exe架构不匹配时CoCreateInstance会失败严重甚至触发 native crash所以构建脚本 Verify-ProbeHostArchitecture.ps1 会在打包前校验目录标签与实际 PE machine type 是否一致。一次深入分析的完整流程 在界面中选中某个可疑的右键菜单项点击深入分析后前端与隔离进程之间的协作如下前端 ContextMenuDeepAnalysisService.cs 解析 handler DLL 路径与 CLSID按架构挑选 ProbeHost在临时目录写入request.json请求契约定义见 ContextMenuDeepAnalysisContracts.cs启动对应架构的ContextMenuMgr.ProbeHost.exe传入--request与--result参数入口逻辑见 main.cppProbeHost 完成 COM 初始化创建 handler 并枚举HMENU可安全提取的菜单项图标会被编码为 PNG base64结果写回result.json前端捕获 stdout / stderr / 退出码解析后在分析窗口中展示菜单项的文字、图标、canonical verb 与帮助文本整个探测默认带 5 秒超时超时后前端会直接结束 ProbeHost主界面依旧安然无恙。两种探测模式别把全菜单当成当前项 ⚠️深入分析提供两种模式它们回答的问题并不相同SpecificHandler只CoCreate当前条目的HandlerClsid再调用QueryContextMenu。结果最贴近当前菜单项但更容易因 handler 不支持IShellExtInit等初始化上下文而失败WholeContextMenu创建示例目标的完整右键菜单并整体枚举。结果可能混入其它软件、系统项和 Explorer 自身菜单不能当作当前 handler 的精确结果因此当 SpecificHandler 失败、WholeContextMenu 成功时不要解读为当前项探测成功——这是官方文档 docs/deep-analysis-probehost.md 中明确强调的语义边界。读懂分析结果失败也可能是正常 深入分析失败时前端会给出分类错误码。以下失败大多属于正常限制不必当作 Bug 报告错误码含义MissingX64ProbeHost等对应架构的 ProbeHost 缺失ArchitectureMismatchProbeHost 与 handler DLL 架构不兼容ShellExtInitNotSupported/IContextMenuNotSupportedhandler 接口能力不足SpecificHandlerReturnedNoItems探测成功但无可显示项ProbeHostNativeAccessViolation隔离进程被第三方 DLL 拖崩——恰好证明隔离生效了Timeout超过超时时间前端已结束进程另外两点小提示菜单文本里的是 Windows 菜单助记符下划线标记不是乱码缺少图标是 best-effort 机制下的正常现象owner-draw、回调图标或无法安全转换的位图会被有意跳过深入源码与文档 如果你想继续研究这套隔离探测的设计推荐从以下路径入手设计与失败分类总览docs/deep-analysis-probehost.md前端分析服务与架构选择ContextMenuDeepAnalysisService.cs请求/结果契约ContextMenuDeepAnalysisContracts.cs隔离进程入口ContextMenuMgr.ProbeHost/src/分析窗口与结果展示ContextMenuDeepAnalysisWindowViewModel.cs架构验证脚本Scripts/Verify-ProbeHostArchitecture.ps1小结ContextMenu Manager Plus 的深入分析把加载未知 COM 组件这一高危动作关进了 ProbeHost 隔离进程主程序只负责发起请求和展示结果隔离进程负责真实探测并承担崩溃风险。这种可失败的探测器 明确边界的设计正是安全查看未知 Shell Extension 真面目的关键。【免费下载链接】ContextMenuMgrContext Menu Manager Plus 是一个强大的实用程序它可帮助您管理 Windows 上的右键菜单并避免第三方向你的右键菜单里塞屎项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuMgr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
把 C 程序拆到汇编,我才看懂“计算机是怎么工作的“ 学号:20262826 姓名:张智泓
主题:计算机是如何工作的 —— 从反汇编一个 C 程序看函数调用与堆栈
原创作品,转载请注明出处写在前面
第二周的主题是「计算机是如何工作的?」。坦白说,刚接触时我心里是有点… · 2026/9/26 14:44:03
AI编程从入门到生产:工具选型、Agent工作流与代码审查实战 1. 从“能跑就行”到“敢上生产”:AI编程的第二道坎上一篇聊了AI编程入门阶段的一些体会,主要围绕怎么让AI帮你写出第一版能跑的代码。这次想聊的是下半场——当你已经习惯了用Cursor、Windsurf、Copilot这些工具帮你补全函数、生成测试、解释报错之后&a… · 2026/9/26 14:43:54
Atlas 300V Pro跑YOLO目标检测:推理卡选型、模型转换与部署实战 最近好几个群里都在聊同一个话题:Atlas 300V 24G到底是不是一张“运算加速卡”?能不能拿它来跑YOLO目标检测?热度高不是没道理,这卡24G显存、功耗低、单价也比同显存的GPU友好不少,做视频分析、智慧工地、安防巡检这类… · 2026/9/26 15:42:37
rsuite CheckPicker renderExtraFooter 实战:自定义底部全选工具栏 前端UI组件 【免费下载链接】rsuite 🧱 A suite of React components . 项目地址: https://gitcode.com/gh_mirrors/rs/rsuite 点击查看 免费下载 renderExtraFooter 是 rsuite CheckPicker 提供的弹层底部自定义插槽,用于在选项列表下方渲… · 2026/9/26 15:42:29
Python+CNN花朵识别课程设计实战:从数据处理到GUI部署 简介:这是一套基于卷积神经网络的花朵图像识别课程设计资源,包含完整源码、说明文档、GUI演示与快速部署指南,面向高校计算机、智能科学、信息工程等专业学生,适合课程实践、毕业设计参考及入门图像识别二次开发。压缩包共88个文件… · 2026/9/26 15:42:03
trae本地部署大模型并接入deepseek harness,全程托管trae。 8GB 显存跑通 MiniCPM5-2B DeepSeek Harness:一次几乎全由 AI 完成的本地部署硬件:RTX 5050(8GB 显存)| 系统:Windows | 成本:0 元 | 全程用时:一个下午
最重要的前提:我没有动手写… · 2026/9/26 15:41:56
TensorFlow2.0汉字手写识别:3755类的完整实现与避坑指南 简介:面向深度学习实践的中文手写汉字识别项目,基于TensorFlow2.0实现,提供一套完整的毕业设计源码。项目覆盖数据集获取与转换、CNN模型构建、训练评估、单字识别预测等环节,适合计算机专业学生用于课程设计、毕业设计或TensorFl… · 2026/9/26 15:41:56
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46