IDA函数特征识别自动签名
IDA函数特征识别自动签名
Vc6编译的有些无法识别一些库里面的函数
测试代码
#include <stdio.h>
int main()
{
printf("123456\n");
for (int i = 0; i < 4; i++)
{
printf("adadasdas\n");
}
return 0;
}
release版本
IDA识别情况

这里的printf没有被识别出来

我们当然可以去猜是printf,这里讲如何手工导入sig让ida识别
首先要注意我们程序的版本,是debug版本还是说release版本,单线程还是多线程等,这关系到我们下面libc的选择
libc

我们这个release,单线程,非静态。选libc.lib就好

特征识别
使用link提取

link -lib /List libc.lib
这样就可以看里面有啥,我们找到printf


把名称全copy下来
build\intel\st_obj\printf.obj
提取obj
link -lib /EXTRACT:build\intel\st_obj\printf.obj libc.lib

使用flair中的pcf提取特征
pcf printf.obj
会生成一个printf特征的pat

签名文件
使用sigmake完成操作
sigmake -n"vc6_printf" printf.pat printf.sig

放入IDA的sig目录,并在加载文件加入

然后在IDA进入签名窗口


都完成后发现

这样一个就完成了

浙公网安备 33010602011771号