是否有与 Sigverif.exe 等效的命令行?

是否有与 Sigverif.exe 等效的命令行?

Windows XP sigverif 工具对于识别未签名的可执行文件很有用,但似乎不适合编写脚本——是否有等效的命令行?

答案1

我不认为有直接的命令行等效物,但有几件事可以让你接近。

首先,driverquery.exe有一个参数/si会告诉您驱动程序的签名状态。它还有一个参数/fo csv会将输出转储到 CSV。使用此命令的奇怪之处在于,如果您使用该/si参数,则无法获取驱动程序文件的完整路径(如果您使用该/v选项获取完整路径,则无法获取签名状态)。

其次,如果您想使用 PowerShell 路径,则可以使用 cmdlet Get-AuthenicodeSignature。这个很奇怪,因为您必须将驱动程序路径传递到 cmdlet 中,因此您需要自己构建驱动程序列表。不过,您可以从 WMI 中获取它,因此类似这样的命令可能适合您的需求:

Get-WmiObject -class win32_systemdriver |  foreach-object { get-authenticodesignature $_.pathname }

答案2

我使用了 sysinternals sigcheck.exe:

http://technet.microsoft.com/en-us/sysinternals/bb897441.aspx


Sigcheck v1.66 - 文件版本和签名查看器版权所有 (C) 2004-2010 Mark Russinovich Sysinternals - www.sysinternals.com

用法:sigcheck [-a][-h][-i][-e][-n][[-s]|[-v]|[-m]][-q][-r][-u][-c 目录文件]

-a 显示扩展版本信息

-c 在指定的目录文件中查找签名

-e 仅扫描可执行映像(无论其扩展名是什么)

-h 显示文件哈希值

-i 显示目录名称和图像签名者

-m 转储清单

-n 仅显示文件版本号

-q 安静(无横幅)

-r 检查证书是否撤销

-s 递归子目录

-u 仅显示未签名的文件

-v Csv 输出


示例输出:

c:\windows\system32\acledit.dll:

    Verified:       Signed

    Signing date:   19:07 04/13/2008

    Publisher:      Microsoft Corporation

    Description:    Access Control List Editor

    Product:        Microsoft« Windows« Operating System

    Version:        5.1.2600.0

    File version:   5.1.2600.0 (xpclient.010817-1148)

答案3

我自己还没有尝试过,但我相信 signtool 有一个命令行选项来验证签名。

相关内容