批量製作IDA靜態庫簽名檔案的指令碼
阿新 • • 發佈:2018-12-12
網上有很多文章介紹製作靜態庫簽名(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 %%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簽名的目錄結構: