日期:2014-05-17  浏览次数:20867 次

杀毒软件的自我保护原理是什么
每次尝试去手动删除360目录的文件多会提示 删除文件或文件夹时出错,请确定磁盘文件未满或未写保护 多是这样的提示  

杀毒软件的自我保护原理是什么 怎么样可以做成像杀毒软件一样保护自己的程序不被其他 恶意程序删除?
这其中的原理是什么

------解决方案--------------------
这种都是驱动级的,LZ想知道的话可是要看好多好多书的哦
------解决方案--------------------
不知道LZ干嘛对这个感兴趣,推荐一本书:《Rootkits-Windows内核的安全防护》,不过这本书可是很难很难的,里面写了什么系统钩子,分层驱动程序,隐藏进程等内容。。
360的文件保护,在这里就是Windows的堆栈式的驱动程序中的一点内容。

如果真要看懂,可不是一天两天的事。包括Windows原理、Windows驱动开发、OS基本原理、C语言等等内容
------解决方案--------------------
API函数最终都是通过调用内核中的服务实现的,比如CreateFile函数,会调用ntdll.dll中的NtCreateFile函数,这个函数通过SYSENTER指令,进入到ntoskrnl.exe中,调用其中的KiFastCallEntry,在里面查询SSDT表获取服务函数地址,然后执行服务函数。
360就是在用户模式进入到内核模式的过程中,通过内联hook,进入到360的驱动程序,在函数调用前和调用后分别对参数和返回值进行判断,通过规则决定函数是否执行。
------解决方案--------------------
基本上把能对自身进行访问的都HOOK住了。
驱动是免不了的。

曾经做过一个简单的东西,查找360的窗口,打开自我保护的时候,句柄就找不到。关闭就可以。诸如此类。

------解决方案--------------------
学一学内核驱动调试