|
以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 安全理论 』 (http://bbs.xml.org.cn/list.asp?boardid=65) ---- [转贴]高手课堂:自己编写病毒专杀工具 (http://bbs.xml.org.cn/dispbbs.asp?boardid=65&rootid=&id=37794) |
|
-- 作者:longshentailang -- 发布时间:9/11/2006 10:08:00 AM -- [转贴]高手课堂:自己编写病毒专杀工具 高手课堂:自己编写病毒专杀工具 出处:www.anqn.com 责任编辑:ANSON 2006-09-08 15:24:42 如今病毒木马蠕虫层出不穷,变种也是一个接一个。反病毒公司以及各大安全公司随着影响很大的病毒的出现都会免费提供病毒专杀工具,这个举措对普通用户来说确实很有帮助。其实写病毒专杀工具也不像大家想象的那么神秘,利用SDK写个控制台程序来实现病毒专杀,因无须写图形界面,所以简便快捷!你自己也能写!不信?就接着看吧^_^ 废话不说了,接下来就开始谈谈病毒专杀工具的思路及实现方法。 此文中讲解的病毒专杀工具是针对木马、蠕虫等独立的程序而言的广义的病毒而言,而不是指那种自我复制感染PE文件的依附于其他程序的那种狭义的病毒。因为写那种病毒的专杀工具需要PE文件结构等知识,相对而言有点难度,所以我们就先从相对简单点的开始,难的以后再介绍。 对于大多数病毒而言,杀毒的思路其实很简单,那就是:终止病毒的进程、删除自启动项目(一般在注册表中的run*主键下)、删除病毒文件,对设置了文件关联的病毒而言还要修改注册表恢复文件关联。下面将分别陈述。 最后一个参数就是该进程的ID,进程句柄和进程ID是两回事,这时你可能很郁闷:怎么知道进程ID呢?方法当然有啦!在Windows9X/2000/XP/2003中,微软均提供了用来枚举进程的ToolHelp API系列函数。先运用函数CreateToolhelp32Snapshot()取得快照句柄,然后使用Process32First()以及Process32Next()枚举当前的进程。枚举过程中会将每一个进程的信息存放到PROCESSENTRY32结构中。PROCESSENTRY32的原型为: typedef struct tagPROCESSENTRY32 其中th32ProcessID就是进程的ID,szExeFile为该进程的文件名。所以要终止指定进程,我们可以枚举进程,逐一判断szExeFile是否和我们欲终止的进程名相同,如果相同就取其th32ProcessID参数,然后代入OpenProcess函数,取得目标进程的句柄。这样就可以利用函数TerminateProcess()终止该进程了。我写了个终止指定进程的函数,如下: void KillProcessFromName(LPCTSTR name)//name为你要终止的进程的名称,Win9X则需包括路径 二、删除文件 获得句柄后用函数RegSetValueEx()进行修改键值,函数原型为: 当然也可以用函数RegDeleteValue()来删除键值。操作完毕后别忘了用函数RegCloseKey()来Close。 到这里,一个病毒专杀工具的模型就已初步完成了,大家自己编写时只需把文中函数的形参换为你要杀的目标病毒的相应特征数据编译即可。这个是个简单的专杀工具,只能对付普通的木马、蠕虫等病毒,大家应具体情况具体分析,根据具体情况扩充该程序功能,比如有些木马是通过修改win.ini、system.ini来实现自动运行,我们就需操作文件删除相应数据,除此之外,有时还需添加终止服务、卸载DLL模块、进入RING0操作等功能。总之,我相信大家一定能自己写出病毒木马专杀工具的!呵呵,是不是很有成就感呢! |
|
-- 作者:longshentailang -- 发布时间:9/11/2006 10:15:00 AM -- 当然,上面只是一个最基本的病毒专杀工具模型,实际应用时还有很多问题需要考虑。相信大家一定能在此基础上开发出更完善的病毒木马专杀工具! |
|
-- 作者:落叶 -- 发布时间:10/9/2006 9:08:00 AM -- 受用,谢老 |
|
-- 作者:juwenbin -- 发布时间:1/22/2007 12:30:00 PM -- 学习学习 |
|
-- 作者:tianyizhilan -- 发布时间:3/14/2007 5:03:00 PM -- 这个用的是什么语言,是什么编译环境啊 |
|
-- 作者:changeone -- 发布时间:11/8/2007 6:57:00 PM -- 佩服,谢谢 |
|
-- 作者:落叶 -- 发布时间:2/1/2008 2:51:00 PM -- 找了好久,终于让我找到了!谢谢啊 |
|
-- 作者:魔鬼在身边 -- 发布时间:2/18/2008 2:05:00 PM -- 非常谢谢! |
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.500ms |