我有三个文件:
- ELF 可执行文件,
- ELF 动态链接库 (
.so), - C 头文件 (
.h) 具有该库的函数签名和相关结构。
#1 从 #2 导入了许多函数。
有没有办法让我利用 #3 自动将 #3 中的签名应用到:
- 在一个 IDA 实例中导入 #1?
- 在另一个 IDA 实例中导出 #2?
我有三个文件:
.so),.h) 具有该库的函数签名和相关结构。#1 从 #2 导入了许多函数。
有没有办法让我利用 #3 自动将 #3 中的签名应用到:
SDK 中有几个函数,在这里typeinf.hpp或者ida_typeinf.py可以在这里使用,python API 更容易使用。
parse_decls - 用于将头文件转换为 til_t 类型库。
parse_decl- 用于将单个声明转换为tinfo_t对象。
get_named_type - 用于在 til_t 中查找类型。apply_type - 将类型应用于函数。因此,您可以自己从函数声明中解析名称,然后使用parse_decl来单独解析每个声明。
或者您可以添加typedef到每个声明的开头,因此 ida 将按名称将所有声明存储在类型库中。
尝试使用 File -> Load File -> Parse C Header File (Ctrl+F9)。您可能需要调整头文件中的一些内容。