bat批处理有很强的方便性与实用性,特别是在文件处理方面。
所有的东西都用语言实现代价太大,bat批处理实现代码简单容易记住,不需要运行环境,但是需要一些简单的手工操作。
1.批处理提取文件名和MD5
for /f %%i in ('DIR *.*/B') do echo %%i>>哈希值.txt
for /f %%i in ('DIR *.*/B') do certutil -hashfile %%i MD5|findstr /v CertUtil|findstr /v MD5>>哈希值.txt
生成txt上半部分方便于复制文件名,下半部分可以复制MD5
MD5也可以改为SHA等报文摘要算法。
微软cmd命令提取出的MD5之间具有空格,如果需要加工处理消除MD5之间的空格,复制MD5到word中
这里空格按ctrl+c和ctrl+v复制到查找内容,直接全部替换,即可消除空格。
2.重命名文件
rename *.* *.txt
把当前目录下所有文件的后缀改为.txt后缀。
3.校验文件签名
for /f %%i in ('DIR *.*/B') do sigcheck -nobanner %%i|findstr /V Prod|findstr /V File|findstr /V MachineType>>签名校验.txt
该bat批处理需要放到有sigcheck安装环境的sigcheck目录下
4.制作IDA标签
md %1_objs
cd %1_objs
for /F %%i in ('link -lib /nologo /list ../%1.lib') do link -lib /nologo /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
cd ..
del %1_objs /s /q
rd %1_objs
说明:
- 需要自备工具:link.exe;pcf.exe;sigmake.exe 及设置相应的环境变量
- 使用方法:批处理文件名 【lib文件名】