深入探索IDA软件开发工具包中的Netnodes
1. SDK头文件与API函数
SDK附带的头文件众多,前面列出的大约只是其中一半。在深入研究SDK时,建议不仅要熟悉列出的文件,还要了解其他所有头文件。构成已发布API的函数被标记为 ida_export ,只有这些被标记的函数才会在SDK附带的链接库中导出。要注意, idaapi 仅表示函数在Windows平台上使用 stdcall 调用约定,不要被其误导。若遇到未标记为 ida_export 的函数,在模块中不能使用它们。
2. Netnodes概述
IDA的许多API围绕C++类构建,用于对反汇编二进制文件的各个方面进行建模。而 netnode 类似乎有些神秘,因为它与二进制文件中的结构(如节、函数、指令等)没有直接关系。
Netnodes是IDA数据库中可访问的最低级、最通用的数据存储机制。作为模块程序员,很少需要直接与netnodes打交道,因为许多高级数据结构隐藏了它们最终依赖netnodes在数据库中进行持久存储的事实。在 nalt.hpp 文件中详细介绍了netnodes在数据库中的一些用途,例如,二进制文件导入的共享库和函数的信息存储在名为 import_node 的netnode中(netnodes可以有名称)。此外,netnodes也是支持IDC全局数组的持久存储机制。
netnode.hpp 文件对netnodes进行了详细描
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



