SuperAPI AI 工具集

ui-context

通用与其它

查看项目

更新于 10-15 16:47

技能介绍

用途:当用户在 IDA GUI 中用“这个”“这里”“当前”“选中的”等指代性说法提问时,先捕获实时 UI 状态再作答,避免凭空猜测代码上下文。

主要能力:通过 SELECT get_ui_context_json(); 获取快照,包含视图信息(widget 的 type_id、type_name、具备跨版本稳定性的 canonical_name、category、is_address、is_custom_view、is_chooser_like、title,以及 main_viewer 同名字段)、选中信息(begin/end 与预览文本行)、代码锚点信息(地址、函数、段)。

使用方式:每个 UI 指代性问题开始时捕获一次,随后复用同一快照作答;仅当用户要求刷新或在新的指代性问题开始时重新捕获。指代“这个/这里/当前/选中”时取新快照,指代“那个/之前/早先”时复用同一流程中的最近快照。is_address: false 时说明该视图无代码地址锚点,不得编造。回答可遵循固定结构:正在查看的内容、当前选中项、代码上下文、限制、建议的下一步查询。

适用场景:包括“我在看什么”“屏幕上是什么”“现在选中了什么”“解释这个函数”等,可在拿到函数/地址锚点后转入反编译,如 SELECT decompile(0x401000);(地址替换为捕获到的锚点)。

限制:该函数在所有运行时均注册,但只有 IDA GUI 插件返回实时 UI 状态;GUI 信封 available:true,idalib/CLI 桩返回 available:false 且 capture.source:"cli",应据此判别并说明 UI 上下文不可用,改为使用显式地址/符号或数据库类查询(如 SELECT * FROM binary)。binary 输出属于数据库元数据,不能当作 UI 上下文;一个回答中不要反复重捕获,除非用户要求刷新。安装方式与收费信息暂未提供。