SuperAPI AI 工具集

functions

数据与分析

查看项目

更新于 10-15 16:47

技能介绍

用途:本技能是 idasql 全部 SQL 函数的完整目录,供查询函数签名、参数和用法示例,适用于 IDA 数据库的 SQL 分析与修改工作流。

主要能力:反汇编(disasm_at、disasm、disasm_range、disasm_func、make_code、make_code_range);字节读取与补丁(bytes 表、load_file_bytes、blob_concat);字节搜索(byte_search 表,模式支持精确字节、?/?? 通配、括号备选);名称与函数、交叉引用、段与导航查询;注释读写;修改(applied_types、parse_decls,以及通过 funcs、names、disasm_calls、dirtree_folders 的写入面);IDAPython 执行(idapython_snippet、idapython_file);UI 上下文(get_ui_context_json);项分析与指令详情(heads、instructions、instruction_operands);反编译(decompile、call_arg_addrs、union selection 与 numform 系列,需 Hex-Rays);文件与图生成(gen_listing、gen_cfg_dot、gen_cfg_dot_file、gen_schema_dot);数据库持久化(save_database);grep 表搜索;字符串列表重建(rebuild_strings)。

必要用法:函数创建、注释、交叉引用、函数计数与索引、段查找等均为表驱动。IDAPython 需先执行 PRAGMA idasql.enable_idapython = 1;。示例:SELECT disasm_at(0x401000); SELECT disasm_func(addr) FROM funcs WHERE name = '_main'; UPDATE bytes SET value = 0x90 WHERE addr = 0x401000; INSERT INTO comments(addr, comment) VALUES (0x401000, 'regular comment'); SELECT gen_listing('C:/tmp/full.lst'); SELECT save_database();

适用场景:逆向分析中的批量反汇编、模式搜索、注释与类型标注、函数元数据维护、反编译输出获取、CFG 与 schema 导出、会话内持久化保存。

限制:反编译相关函数仅在 Hex-Rays 可用时注册,否则调用返回 no such function,建议先用 SELECT decompile(<addr>) 探测。save_database() 在大数据库上开销较高,宜批量编辑后在明确边界保存。INSERT 已有注释的地址会替换原注释(每个 EA 每槽仅一条注释)。load_file_bytes 成功返回 1,失败返回 0。缺少 Hex-Rays 时相关能力不可用。其他未在资料中说明的收费、平台等信息暂未提供。