其实杀毒软件的内存扫描不能简单使用Readmemory,应该深入到内核层去。
对于楼上,其实这个问题并不难理解:内存杀毒是杀毒软件在内存中查找病毒特征码的过程。目前有效的逃避内存杀毒的方法可能就是“变形”和挂钩NtReadVirtualMemory了,每个进程在内存中都有自己的进程虚拟地址空间,虽然无法获取其真实物理地址,但是通过暴力搜索进程虚拟地址空间的以及内容的对比,一样可以找出潜伏在内存中的具有一定特征的病毒的指令或者其他(特征码,只有该病毒才会有的一段唯一的数据),从而根据特征码的存在揪出该病毒。[br][br]-=-=-=-=- 以下内容由 x86 在 2006年08月25日 00:49pm 时添加 -=-=-=-=-
对于该文,是用的挂钩的方法,实际上就是中途拦截了杀毒软件在进程空间读取内存数据时使用的API,从而能对其返回结果进行控制,如果发现其扫描到了自身,则返回其他值。从而达到隐瞒的目的。 |