天天看點

批量制作IDA靜态庫簽名檔案的腳本

網上有很多文章介紹制作靜态庫簽名(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。

繼續閱讀