SysCheck的确是个好东西,网上甚至有人说它可以媲美冰刃,甚至比冰刃还好。个人使用起来也觉得非常顺手,对于非系统进程隐藏的进程、服务及dll都使用红色标记,而被非系统dell注入的进程则使用紫色标记,使用起来相当的傻瓜化。相比冰刃,SysCheck更加适合新手朋友来使用。当然它也并非什么缺陷都没有,比如说它是以Administrator权限运行,而非System权限,所以使用它查找那些被非法dll注入的进程时,自己也有可能被那些非法dll进程所注入,至于另外一个缺陷,就是今天所要介绍的文件验证缺陷了。
在使用syscheck的时候大家有没有想过它是使用什么方法来验证某个进程、服务及DLL为非系统的呢?打开VC++6.0,新建一个MFC APPWizard工程,填好工程名字tese,把工程test设置好。然后resourcebiew双击打开Version下面的VS_VERSION_INFO栏目,记住companyname这一项。
我们现在直接编译工程test,得到test.exe。使用Syscheck检查test.exe。哎呀,居然是红色的,要小心了!把companyname改成Microsoft,再次编译工程test,使用syscheck检查test.exe。嘿嘿,这次变成黑色的了!SYScheck把它认成了系统进程。
现在大家知道了吧,SYscheck是照着进程里所属公司的名字来认进程的。如果公司名为Microsoft或是Microsoft Corpration的话,Syscheck就把它当成为系统的进程,标黑色。否则作为非系统进程,标红色。同样的Syscheck在辨认DLL文件和服务的时候也是只认公司名字的。实践证明,这种情况同样发生在大名鼎鼎的Autoruns身上,Autoruns在辨认文件的时候也是凭着文件的公司名来识别的。
网上之所以有人说SYScheck比冰刃号的原因就是它能识别哪些是DLL、系统的进程,服务,而冰刃却没有做到这一点。这是他比冰刃好的地方,也是他的一个致命缺陷。