背景介绍
IDA的SDK中提供的FLAIR SIG TOOLS,可以从静态库生成对应的PTN文件,再进一步生成SIG文件。这个文件也就是我们想要生成的,可以应用在IDA中,增加symbol的。(原理大致是根据函数汇编指令的signature特征和函数名的对应关系,然后,在应用SIG时,去匹配特征,并将匹配到的函数名修改。)因为函数的特征是根据函数的汇编指令生成的,所以,可能会存在冲突,当有冲突产生的时候,解决冲突就可以了。下面会给出具体的使用方法~
使用方法
查询潜在的第三方库的版本信息
一般可以根据Binary文件中的string所包含的信息,猜测使用的第三方库版本信息。听说可以根据函数签名确认,不过,需要依赖一个已知的数据库信息,暂时还没有玩过。
下载源码编译静态库
这一节就忽略了。。。
SIG文件
在FLAIR的SDK中有下面这些工具,其中,pcf和pelf功能是类似的,都是可以将静态库生成对应的PTN文件。差异是pcf针对Windows平台(COFF格式),pelf针对Linux平台(ELF格式)。sigmake是可以将PTN文件生成SIG文件的工具,后面会用到。

本文介绍了如何使用IDA的FLAIR SIG TOOLS从静态库生成SIG文件,以增加IDA中的符号信息。首先,通过查询潜在的第三方库版本信息来推测所需静态库。接着,使用pcf或pelf生成PTN文件,然后利用sigmake工具生成SIG文件。在处理签名冲突时,需要编辑.exc文件并重新运行sigmake。虽然这种方法有限制,但能为无符号文件添加部分符号。

5128

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



