本篇文章给大家谈谈怎么制作杀毒软件,以及自制杀毒软件程序对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录:
U盘内置杀毒软件怎么制作
制作U盘杀毒软件的前期工作
制作杀毒U盘,首先U盘必须支持U盘启动功能。普通的U盘都不会自带启动功能,要使用usboot或者easyboot等软件给U盘做引导。
此外你的主板必须要支持U盘启动,检测方法:将具有启动功能的U盘插入电脑的USB插槽中,然后重新启动系统并按Del键,进入BIOS程序设置中,在设置主界面中依次选择 “Advanced Bios Features/Boot Service Select”,在该项下面看是否具有“USB HDD…..”项,如果有说明你的主板支持U盘启动,否则不支持。如果主板支持U盘启动,请选择USB HDD……项,然后扫F10键保存设置并退出BIOS。
制作U盘杀毒软件步骤
经过准备工作,如果你的条件满足就可以进行这一步了,我们选用金山毒霸来打造杀毒U盘。打开金山毒霸2009安装目录,在该目录下找到以下七个文件:KAECore.dat、KAEDaily.dat、 KAEngine.dat、 Kaeplat.dll、KAExtend.dat、KAV00XXX.dat(该文件为毒霸的病毒库文件,其中XXX会随着毒霰的升级而自动更换代号,建议在毒霸升级后,重新该文件至U盘)、KAVDX.EXE,然后将这几个文件直接拷贝到U盘中。只要这样操作,你的U盘便摇身一变成为杀毒U盘了。
杀毒U盘使用方法
假如哪天遭遇不测,系统出现问题不能启动或是遇到病毒侵袭,这时这块自制的具有查杀病毒功能的U盘就可来拯救你的系统了。具体操作方法也非常简单:
将U盘插入USB插槽,启动系统,如果没有设置从U盘启动,请先设置BIOS参数,使用U盘来启动系统。启动成功后进入DOS模式,直接输入“kavdx”并回车即可开始使用杀毒软件默认的设置查杀病毒了。
当然,在DOS下还有很多相关参数可以控制杀毒操作,例如只查杀某个文件夹,是否查杀内存等。
杀毒U盘参数使用方法
KAVDX [指定驱动器][指定路径][指定文件][{/|-}[+|-]……]
+:打开设置开关
-:关闭设置开关
Switch:
D:显示默认设置
M:扫描内存
B:扫描引导区
ALL:扫描所有文件
Z:检查压缩文件
ZC:清除压缩文件内文件所染病毒(只支持可清除的压缩格式)
S:扫描子目录
HA:启动启发式查毒
A{P|C|D|S|Q}:发现病毒{询问后处理|自动清除|自动跳过|自动隔离}被感染的文件
BAK:清除商毒前备份被感染的文件
CF{D|S|Q}:当清除失败时自动{删除|跳过|隔离}被感染的文件
怎样自己制作一款小型的杀毒软件
首先制作杀毒软件要了解系统架构,如果不了解系统架构的话是不能制作出有效的杀毒软件的。还有如果对编程一窍不通的话,可以使用《易语言》编程软件,可以利用这个软件,不过在熟悉了之后还是要用VC/C++之类的软件来编写,最终还是要学习编程语言。 所以建议楼主,还是找几本书来看看,这样有助于理解编程原理和系统架构等,还有就是算法、密码、纠错码之类的,牵涉面很广泛。希望对楼主有帮助,如果有疑问,请回复消息! NO.17网络安全团队 队长
电脑的系统杀毒软件怎么制作啊?
至少会两种以上编程语音,一定要学C语言,三大操作系统内核主要都是C编写的,想要了解系统内核必须学C,只有弄明白系统内核机制才能与系统很好的结合。病毒库必须强大,其他资料你看一下我转的吧
程序模块:
1、基于特征值的扫描引擎
2、对内存、文件、注册表的监控模块
3、自我保护模块
4、未知病毒或危险行为主动防御系统
5、升级等服务模块
6、用户界面
过程:
立项/需求分析/功能设计/概要设计/详细设计/编码/测试
如今病毒木马蠕虫层出不穷,变种也是一个接一个。反病毒公司以及各大安全公司随着影响很大的病毒的出现都会免费提供病毒专杀工具,这个举措对普通用户来说确实很有帮助。其实写病毒专杀工具也不像大家想象的那么神秘,利用SDK写个控制台程序来实现病毒专杀,因无须写图形界面,所以简便快捷!你自己也能写!不信?就接着看吧 废话不说了,接下来就开始谈谈病毒专杀工具的思路及实现方法。
此文中讲解的病毒专杀工具是针对木马、蠕虫等独立的程序而言的广义的病毒而言,而不是指那种自我复制感染PE文件的依附于其他程序的那种狭义的病毒。因为写那种病毒的专杀工具需要PE文件结构等知识,相对而言有点难度,所以我们就先从相对简单点的开始,难的以后再介绍。
对于大多数病毒而言,杀毒的思路其实很简单,那就是:终止病毒的进程、删除自启动项目(一般在注册表中的run*主键下)、删除病毒文件,对设置了文件关联的病毒而言还要修改注册表恢复文件关联。下面将分别陈述。
一.终止进程
以前网上曾有许多朋友问我怎么根据文件名终止指定进程,为什么使用函数TerminateProcess()不能直接终止指定进程。首先让我们来看看函数TerminateProcess()的声明吧:Bool TerminateProcess(HANDLE hPeocess,UINT uExitCode),其中第一个参数为进程句柄,而不是进程名称(文件名)。那怎样才能获得指定进程的句柄呢?我们可以使用函数OpenProcess(),其原型为
HANDLE OpenProcess(
DWORD dwDesiredAccess, // 访问标志
BOOL bInheritHandle, // 处理继承的标志
DWORD dwProcessId // 进程标识号,即进程ID
);
最后一个参数就是该进程的ID,进程句柄和进程ID是两回事,这时你可能很郁闷:怎么知道进程ID呢?方法当然有啦!在Windows9X/2000/XP/2003中,微软均提供了用来枚举进程的ToolHelp API系列函数。先运用函数CreateToolhelp32Snapshot()取得快照句柄,然后使用Process32First()以及Process32Next()枚举当前的进程。枚举过程中会将每一个进程的信息存放到PROCESSENTRY32结构中。PROCESSENTRY32的原型为:
typedef struct tagPROCESSENTRY32
{
DWORD dwSize; // 结构大小;
DWORD cntUsage; // 此进程的引用计数;
DWORD th32ProcessID; // 进程ID;
DWORD th32DefaultHeapID; // 进程默认堆ID;
DWORD th32ModuleID; // 进程模块ID;
DWORD cntThreads; // 此进程开启的线程计数;
DWORD th32ParentProcessID; // 父进程ID;
LONG pcPriClassBase; // 线程优先权;
DWORD dwFlags; // 保留;
char szExeFile[MAX_PATH]; // 进程全名;
} PROCESSENTRY32;
其中th32ProcessID就是进程的ID,szExeFile为该进程的文件名。所以要终止指定进程,我们可以枚举进程,逐一判断szExeFile是否和我们欲终止的进程名相同,如果相同就取其th32ProcessID参数,然后代入OpenProcess函数,取得目标进程的句柄。这样就可以利用函数TerminateProcess()终止该进程了。我写了个终止指定进程的函数,如下:
void KillProcessFromName(LPCTSTR name)//name为你要终止的进程的名称,Win9X则需包括路径
{
PROCESSENTRY32 pe;//定义一个PROCESSENTRY32结类型的变量
HANDLE hShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);// 创建快照句柄
pe.dwSize=sizeof(PROCESSENTRY32);//一定要先为dwSize赋值
if (Process32First(hShot,pe))
{
do
{if (strcmp(pe.szExeFile,name)==0) //判断此进程是否为你要终止的进程
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe.th32ProcessID);//如果是就利用其ID获得句柄
TerminateProcess(hProcess,0);//终止该进程
}
while(Process32Next(hkz,pe));
}
CloseHandle(hShot);//最后别忘记Close
}
在使用时只要在main()主函数里调用函数KillProcessFromName(),把参数设为你要终止的进程的名称即可,Win9X则需包括路径。还有一点值得注意一下,就是别忘了#include TlHelp32.h。
二、删除文件
这一步骤很简单,调用函数DeleteFile()即可,Bool DeleteFile(LPCTSTR lpFilename),把lpFilename设要指向删除的文件的文件名的指针即可,可包含具体路径。
三、修改注册表,删除启动项及文件关联
首先用函数RegOpenKeyEx()打开目标主键,RegOpenKeyEx()函数原型为
LONG RegOpenKeyEx(
HKEY hKey,// 将要打开的键的句柄
LPCTSTR lpSubKey,// 指向将要打开的包含子建的名称字符串指针
DWORD ulOptions,// 为保留字,必须为NULL
REGSAM samDesired,// 访问权限
PHKEY phkResult//指向打开键的句柄指针
);
获得句柄后用函数RegSetValueEx()进行修改键值,函数原型为:
LONG RegSetValueEx(
HKEY hKey, //当前打开的键的句柄
LPCTSTR lpValueName, //指向非空的包含要查询的值名称的字符串指针
DWORD Reserved, //保留值,必须为NULL
DWORD dwType,//键值类型,比如REG_SZ、REG_DWORD等
CONST BYTE * lpData , //指向键值数据的指针,注意此变量类型,不是LPCTSTR!
DWORD cbData//指向保存设定值长度变量的指针,以字节为单位
);
当然也可以用函数RegDeleteValue()来删除键值。操作完毕后别忘了用函数RegCloseKey()来Close。
使用这些函数很简单,只要把相应的参数换为你要删除或修改注册表的相应数值,唯一值得注意的是RegSetValueEx()函数中第5个参数的类型是BYTE而不是LPCTSTR!通过这些就可以很方便删除指定启动项以及恢复文件关联,为了便于大家理解,我举个修复EXE文件关联的例子,大家修改相应的参数就可以适用其它键值的修改,换用RegDeleteValue函数就可以实现删除自启动项。
HKEY hKey;
LPCTSTR data1="\"%1\" %*";//EXE文件默认的open方式,”%1\"表EXE文件本身
DWORD lResult=RegOpenKeyEx(HKEY_CLASSES_ROOT,"exefile\\shell\\open\\command",0,KEY_WRITE,hKey);
if(lResult==ERROR_SUCCESS)
RegSetValueEx(hKey,"",NULL,REG_SZ,(LPBYTE)data1,9);//修改键值
RegCloseKey(hKey);
到这里,一个病毒专杀工具的模型就已初步完成了,大家自己编写时只需把文中函数的形参换为你要杀的目标病毒的相应特征数据编译即可。这个是个简单的专杀工具,只能对付普通的木马、蠕虫等病毒,大家应具体情况具体分析,根据具体情况扩充该程序功能,比如有些木马是通过修改win.ini、system.ini来实现自动运行,我们就需操作文件删除相应数据,除此之外,有时还需添加终止服务、卸载DLL模块、进入RING0操作等功能。总之,我相信大家一定能自己写出病毒木马专杀工具的!呵呵,是不是很有成就感呢!
1:编写杀毒软件,从程序来看,可以将杀软分为2部分:外围部分和内核部分,外围部分用于和用户交互,比如它自己的主界面,这部分用什么语言都可以;内核部分(其实就是驱动)才是核心,它用来完成程序安全扫描,文件操作的实时防护,自身进程的保护等,这部分需要能编写驱动的语言,比如C,C++,可以肯定的是JAVA是不行的。
2:当黑客,你“学了一半”我不明白是什么意思,可以Hi我聊一下。
“有人跟我说学JAVA不能编写杀毒软件木马病毒”,这个说法是不准确的,其实JAVA是可以写木马病毒的,可以说任何语言都可以,但关键是极少有人用JAVA去做木马病毒,因为JAVA是一门面向对象的语言,它的代码是被JAVA虚拟机解释执行的,所以,JAVA编写的可执行程序必须要有JAVA虚拟机的支持。木马病毒是要求隐蔽的,现在想一下,假如对方的电脑里没有安装JAVA虚拟机,那么你用JAVA做的木马就无法运行,而一报错,傻子也知道有程序在偷偷运行,基于这种原因,几乎没有人用JAVA或C#做病毒木马(C#需要.net framework的支持)。
这简单:
一。有钱,要靠金钱的
二。人才
三。专业知识
四。想象力
五。先制造病毒,目的是实验“你的杀毒软件”
六。懂得病毒代码、查杀引擎、软件编写知识等
七。。。
看的懂嘛!以下的东西!
ypedef char * a;
// a is a pointer to a char
typedef a b();
// b is a function that returns
// a pointer to a char
typedef b *c;
// c is a pointer to a function
// that returns a pointer to a char
typedef c d();
// d is a function returning
// a pointer to a function
// that returns a pointer to a char
typedef d *e;
// e is a pointer to a function
// returning a pointer to a
// function that returns a
// pointer to a char
e var[10];
// var is an array of 10 pointers to
// functions returning pointers to
// functions returning pointers to chars.
怎样自己制作杀毒软件?
这个需要很大的知识量,也需要人员的
与其等着自己制作,不如用个免费 的省心
推荐试试腾讯电脑管家,它是免费专业安全软件,杀毒管理二合一(只用下载一个),占内存小,杀毒好,防护好,无误报误杀。它拥有云查杀引擎、反病毒引擎、金山云查杀引擎、AVIRA查杀引擎、小红伞和查杀修复引擎等世界一流杀毒软件内嵌杀毒引擎!保证杀毒质量。而且操作也很简单,板块明确,新手一试就会。
电脑管家除了帮你杀毒查毒保护电脑以外。还可以帮你管理电脑、观察电脑动态、网络流量查看、垃圾清理、Q盘、开机加速等等,功能强大,齐全好用。
怎么做杀毒软件?请简单的给我介绍一下
说简单点就是一下的过程:
通常而言,病毒文件都是加过密的EXE,这个加密过程叫做"加壳",杀毒软件分析病毒的时候要解密,也就是"脱壳".然后对文件进行反汇编
杀毒软件的病毒库就是存储了各种病毒的特征码,通过对反汇编后的编码进行对比,可以得出该文件是否是病毒文件
关于壳的个知识的话,是这样的
每个文件的开头或者结尾都有一种固定的标示,比如MP3文件的开头3个直接的内容肯定是"ID3"等等
通过这些内容来得出该文件有没壳,是什么壳
以前看的病毒的文章不多,能回忆出来的就这么多了
怎么制作杀毒软件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于自制杀毒软件程序、怎么制作杀毒软件的信息别忘了在本站进行查找喔。