Board logo

标题: [系统相关] BAT批处理如何验证系统进程? [打印本页]

作者: cjiabing    时间: 2014-1-9 10:00     标题: BAT批处理如何验证系统进程?

RT,如何辨别运行的进程是不是系统进程?


CommandLine="C:\Program Files\Internet Explorer\iexplore.exe" SCODEF:2896 CREDAT:79873
CSName=WIN7-20131222JK
Description=iexplore.exe
ExecutablePath=C:\Program Files\Internet Explorer\iexplore.exe
ExecutionState=
Handle=2444
HandleCount=661
InstallDate=
KernelModeTime=224329438
MaximumWorkingSetSize=1380
MinimumWorkingSetSize=200
Name=iexplore.exe
OSName=Microsoft Windows 7 Ultimate |C:\Windows|\Device\Harddisk0\Partition1
OtherOperationCount=59432
OtherTransferCount=1350468
PageFaults=180347
PageFileUsage=93124
ParentProcessId=2896
PeakPageFileUsage=131480
PeakVirtualSize=408387584
PeakWorkingSetSize=135080
Priority=8
PrivatePageCount=95358976
ProcessId=2444
QuotaNonPagedPoolUsage=37
QuotaPagedPoolUsage=334
QuotaPeakNonPagedPoolUsage=63
QuotaPeakPagedPoolUsage=350
ReadOperationCount=4938
ReadTransferCount=56483791
SessionId=1
Status=
TerminationDate=
ThreadCount=45
UserModeTime=398426554
VirtualSize=373583872
WindowsVersion=6.1.7601
WorkingSetSize=99762176
WriteOperationCount=2592
WriteTransferCount=3221899

CommandLine="C:\Program Files\Internet Explorer\iexplore.exe" SCODEF:2896 CREDAT:79905
CSName=WIN7-20131222JK
Description=iexplore.exe
ExecutablePath=C:\Program Files\Internet Explorer\iexplore.exe
ExecutionState=
Handle=2924
HandleCount=579
InstallDate=
KernelModeTime=44460285
MaximumWorkingSetSize=1380
MinimumWorkingSetSize=200
Name=iexplore.exe
OSName=Microsoft Windows 7 Ultimate |C:\Windows|\Device\Harddisk0\Partition1
OtherOperationCount=12113
OtherTransferCount=307929
PageFaults=55861
PageFileUsage=96064
ParentProcessId=2896
PeakPageFileUsage=123344
PeakVirtualSize=348430336
PeakWorkingSetSize=120704
Priority=8
PrivatePageCount=98369536
ProcessId=2924
QuotaNonPagedPoolUsage=34
QuotaPagedPoolUsage=302
QuotaPeakNonPagedPoolUsage=50
QuotaPeakPagedPoolUsage=321
ReadOperationCount=6973
ReadTransferCount=15221042
SessionId=1
Status=
TerminationDate=
ThreadCount=45
UserModeTime=83148533
VirtualSize=331362304
WindowsVersion=6.1.7601
WorkingSetSize=95195136
WriteOperationCount=603
WriteTransferCount=649614

作者: wscript    时间: 2014-1-9 10:07

什么叫“系统进程”?
作者: cjiabing    时间: 2014-1-9 10:27

回复 2# wscript

    就是XP或W7等微软系统自己做的进程,不是被病毒等第二方替换掉的进程。有可能被替换掉的进程包括iexplore.exe、explorer、svchost.exe等!只需验证基本进程就可以了。
作者: PowerShell    时间: 2014-1-10 11:39

问:如何知道某个文件是不是微软开发的?是不是被黑客程序替换了?
答:包括微软在内,全世界都用【签名】来识别,所以保证签名 1不过期 2没吊销 3文件状态为【验证成功】即可。

又问:那么如何用脚本具体验证呢? ---答:用powershell 2.0中的Get-AuthenticodeSignature指令即可。
如:
Get-AuthenticodeSignature  'c:\Program Files (x86)\Internet Explorer\iexplore.exe' |Format-List
-------------------------以下内容摘自 镇派葵花宝典,即powershell版内置顶的官方手册----------------------------------------
示例 1
C:\PS>get-AuthenticodeSignature -filepath C:\Test\NewScript.ps1

说明
-----------
此命令获取有关 NewScript.ps1 文件中 Authenticode 签名的信息。它使用 FilePath 参数来指定文件。








示例 2
C:\PS>get-authenticodesignature test.ps1, test1.ps1, sign-file.ps1, makexml.ps1

说明
-----------
此命令获取有关命令行中列出的四个文件中 Authenticode 签名的信息。在此命令中,省略了 FilePath 参数(该参数为可选项)的名称。








示例 3
C:\PS>get-childitem $pshome\*.* | foreach-object {Get-AuthenticodeSignature $_} | where {$_.status -eq "Valid"}

说明
-----------
此命令会列出 $pshome 目录中具有有效 Authenticode 签名的所有文件。$pshome 自动变量包含 Windows PowerShell 安装目录的路径。

此命令使用 Get-ChildItem cmdlet 获取 $pshome 目录中的文件。它采用 *.* 模式排除目录(尽管它也会排除文件名中不含点的文件)。

此命令使用管道运算符 (|) 将 $pshome 中的文件发送到 Foreach-Object cmdlet,其中将针对每个文件调用 Get-AuthenticodeSignature。

Get-AuthenticodeSignature 命令的结果将发送到 Where-Object 命令,该命令仅选择状态为“Valid”的签名对象。
作者: cjiabing    时间: 2014-1-11 00:24

回复 4# PowerShell


    果然比cmd牛逼!那天看了一下,有心想学,可没太多时间。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2