写专杀器遇到些难题阿.高手或知道的帮下忙吧..
找了几个病毒在内存中的特征码..现在要想查下本机上所有的文件.看有没有被感染的.由于是内存特征码.所以只有在运行中的程序才可以查看到.
但如果有病毒文件没有运行的.那应该要怎样才能查看到那个没运行的病毒文件在内存特征码呢?现在手上已经有一个内存搜索字符串的工程,但觉得好像不够完美.不知道有没有人可以发个内存搜索之类的工程(连接地址)上来呢.

解决方案 »

  1.   

    简单分析一下,专杀工具的话,基本是在事先知道文件名或其他特征的,一共包括两个难题:1:如何终止进程
       简单的方法就是使用ntsd -c q -p PID基本上可以终止很多进程,比windows的任务管理器能做的更多一点,但是对于一些病毒依然无能为力,比如前次老版的VIKING有效,而新出来的变种可能做了保护而无法终止。
    还有就是VB中使用OpenProcess和TerminateProcess来终止进程,估计也 不会比上面的方法更厉害。期待高手给出更强劲的方法。2:如何删除文件
       简单的方法,VB自带的KILL语句,只能用来删除一般文件,(fso也好不到哪里去)
       可以在VB程序中删除VB自身EXE的,一般就使用一个BAT来实现,也简单,但是对于OPENFILE依然无能为力。
       其他方法,见过C嵌套汇编的,可以在程序运行时删除文件,但是估计难以在VB中实现。不过看到有VB内嵌汇编的解决方案,没有尝试过,也不敢尝试,所以不知道行不行。(对于特征码不是很了解,估计如果用2进制方法打开文件拿过来和特定字符串比较一下,吻合就算是病毒文件,猜想是如此吧,这个不太懂,不发表意见)综合上面两点,如果不能突破的话,那就只能做一个“很普通”的专杀工具