我正在使用C反汇编程序,并且需要在C程序中标识编译器固有的函数(即SEH_prolog,SEH_epilog等)。 FLIRT(快速库标识和识别技术)引擎标记这些功能的RVA,并在我的程序中使用该数据库作为参考。

我的问题是是否有任何开源/免费的等效引擎可以嵌入到我的C程序中,以便使用启发式方法识别已知功能?

#1 楼

有使用纯C语言编写的radare2工具和框架,它是可嵌入和可移植的库-几乎所有功能都可以通过C API和r2pipe API获得。

有一些支持的选项:


FLIRT本身-r2支持这种格式(请参阅“ zF”命令)
Zignatures-r2的内部格式(请参见“ z?”命令以获取帮助)
Yara签名-需要通过r2pm安装的yara插件(提供“ yara”命令)


#2 楼

还有Sibyl,这是一个基于Miasm2的开源工具,可以执行功能划分。