批量制作IDA静态库签名文件的脚本
原创
©著作权归作者所有:来自51CTO博客作者EugeneFWD的原创作品,请联系作者获取转载授权,否则将追究法律责任
网上有很多文章介绍制作静态库签名(sig)文件,供IDA加载使用。这些文中都提到一个批处理文件:lib2sig.bat,不得不说这是一个很强大的脚本----一次为一个lib文件生成sig文件。 但是,美中不足的地方是:如果需要为大量lib文件制作sig文件,还是有点麻烦,所以,我为此对这个脚本进行了修改,并另外写了一个脚本配合着调用它。
1.先看lib2sig.bat:
md %1_objs
copy %1.lib %1_objs
pushd %1_objs
for /f %%i in ('link -lib /list %1.lib') do link -lib /extract:%%i %1.lib
for %%i in (*.obj) do pcf -g0 %%i
sigmake -n"%1.lib" *.pat %1.sig
if exist %1.exc for %%i in (%1.exc) do find /v ";" %%i > abc.exc
if exist %1.exc for %%i in (%1.exc) do > abc.exc more +2 "%%i"
copy abc.exc %1.exc
del abc.exc
sigmake -n"%1.lib" *.pat %1.sig
copy %1.sig ..\%1.sig
popd
del %1_objs /s /q
rd %1_objs
新增了第二行,将lib文件拷贝到新建的lib目录中,以后解压lib/签名都在这个目录中进行。
2.再看下调用lib2sig.bat的脚本libs.bat:
for %%i in (*.lib) do lib2sig.bat %%~ni
这个脚本搜索当前目录下的所有需要制作sig签名的lib文件,然后取lib文件的文件名作为参数,调用lib2sig.bat。
下图是我制作sig签名的目录结构:
脚本下载地址