如何制作vc静态链接库的IDA SIG文件?
1. 把vc6下的libc.lib 拷贝到flair61\bin路径下,这样执行prf,sigmake就不用再指定长长的路径
2.尝试用plb制作pat 文件是不成功的,它会返回错误信息:
基本思路是从libc.lib 导出obj文件,用prf制作pat,再用sigmake 制作sig文件;
3. 创建一目录保存libc.lib导出嘚obj文件,假设为libcobj;放在bin 目录下面,进入libobj目录,创建一批处理文件,内容为:
for /F skip=3 %%i in ('link.exe -lib /list ..\libc.lib') do echo %%i link.exe -lib /extract:%%i ..\libc.lib
命名为extract.bat,然后在command line 下执行它,这样就会释放出obj,并放入该文件夹中;
4.然后创建另一批处理文件dopcf.bat,文件内容如下:
for %%i in (*.obj) do ..\pcf.exe -g0 %%i
提示: 由.obj文件生成.pat文件。为了避免pcf.exe在执行的过程中处理非COFF文件时中断、出现提示信息“is not ar/coff file\npress enter to exit”,加上参数-g0
在command line 下执行它,就会创建pat 文件
4. 最后一步是制作sig 文件,这时可以通过命令行执行:
sigmake -nVC6 Static lib *.pat vc6libc.sig
这是会产生冲突,不知道为何用sigmake.txt 文档里提到的解决冲突的方法无效(就是在emc冲突函数的前面添加-,+)
原文: