资源简介
一款可以自已定制病毒特征库的杀毒软件,可以用此软件变种为任意的病毒专杀工具。界面及病毒特征库均可自行定制编辑,支持最大100个线程扫描文件,杀毒方式可自行设定,支持对每一种病毒特征码设置一种杀毒方式。采用文件二进制比对的方式查杀电脑上的文件,可以对电脑文件中含有病毒特征码的文件执行删除文件、清除文件病毒码字节、用空格替换文件病毒码字节、用0x00替换文件病毒码字节,用指定字符替换文件病毒码字节等等杀毒方式。病毒特征码可以资源共享。
目前版本的实质为:多线程文件内容比对查找及修改替换工具。程序未加入主动防御、恶意行为拦截等功能,程序特别适合作为病毒专杀工具,可以对程序作小的改动即可实现变种。
本程序规模不大,易读懂,程序全为业余书写,几乎没有经过什么测试,可能存在许多错误。
注意,必须在VC6下打开编绎才不出错误,在VC.NET下打开编绎会出错误。
代码片段和文件信息
// AutoRichEditCtrl.cpp : implementation file
//
#include “stdafx.h“
#include “MyKillVirus.h“
#include “AutoRichEditCtrl.h“
#include
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAutoRichEditCtrl
CAutoRichEditCtrl::CAutoRichEditCtrl()
{
m_pFile = NULL;
m_lFileSize = 0L;
}
CAutoRichEditCtrl::~CAutoRichEditCtrl()
{
if (m_pFile != NULL)
{
// m_pFile->Close();
delete m_pFile;
m_pFile = NULL;
}
}
BEGIN_MESSAGE_MAP(CAutoRichEditCtrl CRichEditCtrl)
//{{AFX_MSG_MAP(CAutoRichEditCtrl)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAutoRichEditCtrl message handlers
CString CAutoRichEditCtrl::GetRTF()
{
// Return the RTF string of the text in the control.
// Stream out here.
EDITSTREAM es;
es.dwError = 0;
es.pfnCallback = CBStreamOut; // Set the callback
CString sRTF = ““;
es.dwCookie = (DWORD) &sRTF; // so sRTF receives the string
StreamOut(SF_RTF es); // Call CRichEditCtrl::StreamOut to get the string.
///
return sRTF;
}
void CAutoRichEditCtrl::SetRTF(CString sRTF)
{
// Put the RTF string sRTF into the rich edit control.
// Read the text in
EDITSTREAM es;
es.dwError = 0;
es.pfnCallback = CBStreamIn;
es.dwCookie = (DWORD) &sRTF;
StreamIn(SF_RTF es); // Do it.
}
/*
Callback function to stream an RTF string into the rich edit control.
*/
DWORD CALLBACK CAutoRichEditCtrl::CBStreamIn(DWORD dwCookie LPBYTE pbBuff LONG cb LONG *pcb)
{
// We insert the rich text here.
/*
This function taken from CodeGuru.com
http://www.codeguru.com/richedit/rtf_string_streamin.shtml
Zafir Anjum
*/
CString *pstr = (CString *) dwCookie;
if (pstr->GetLength() < cb)
{
*pcb = pstr->GetLength();
memcpy(pbBuff (LPCSTR) *pstr *pcb);
pstr->Empty();
}
else
{
*pcb = cb;
memcpy(pbBuff (LPCSTR) *pstr *pcb);
*pstr = pstr->Right(pstr->GetLength() - cb);
}
///
return 0;
}
/*
Callback function to stream the RTF string out of the rich edit control.
*/
DWORD CALLBACK CAutoRichEditCtrl::CBStreamOut(DWORD dwCookie LPBYTE pbBuff LONG cb LONG *pcb)
{
// Address of our string var is in psEntry
CString *psEntry = (CString*) dwCookie;
CString tmpEntry = ““;
tmpEntry = (CString) pbBuff;
// And write it!!!
*psEntry += tmpEntry.Left(cb);
return 0;
}
bool CAutoRichEditCtrl::SelectionIsBold()
{
CHARFORMAT cf = GetCharFormat();
if (cf.dwEffects & CFM_BOLD)
return true;
else
return false;
}
bool CAutoRichEditCtrl::SelectionIsItalic()
{
CHARFORMAT cf = GetCharFormat();
if (cf.dwEffects & CFM_ITALIC)
return true;
else
return false;
}
bool CAutoRichEditCtrl::Se
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2788 2005-10-14 12:32 AutoRichEditCtrl.h
文件 87797 2009-11-02 20:53 BCMenu.cpp
文件 17239 2003-04-07 12:57 BCMenu.h
文件 11583 2009-12-23 19:26 Bin_OwnStruct.h
文件 55870 2009-12-15 20:39 BinaryFile.cpp
文件 7418 2009-12-03 23:29 BinaryFile.h
文件 6874 2009-12-01 21:17 BitmapDialog.cpp
文件 3164 2003-04-09 16:22 BitmapDialog.h
文件 74931 2009-11-02 21:18 ButtonST.cpp
文件 10050 2003-04-07 14:03 ButtonST.h
文件 948 2009-11-02 18:54 ColorButton.cpp
文件 1240 2003-03-12 19:47 ColorButton.h
文件 2226 2009-12-23 19:29 ColorStatic.cpp
文件 1430 2002-11-17 00:23 ColorStatic.h
文件 31293 2009-12-16 21:04 CompVirus.cpp
文件 3458 2009-12-16 20:31 CompVirus.h
文件 20329 2009-11-03 12:33 CShellFileOp.cpp
文件 2936 1998-10-11 13:36 CShellFileOp.h
文件 22866 2009-12-01 21:17 DIBitmap.cpp
文件 2638 2003-03-29 20:23 DIBitmap.h
文件 1822 2009-12-01 21:18 dibpal.cpp
文件 649 2003-03-12 19:55 dibpal.h
文件 7351 2009-12-01 19:20 ffsco.cpp
文件 2908 2009-11-08 21:28 ffsco.h
文件 17710 2009-12-23 19:31 FinderThread.cpp
文件 4519 2009-12-16 13:25 FinderThread.h
文件 31908 2009-12-15 18:57 hexeditctrl.cpp
文件 3563 2009-12-15 13:01 hexeditctrl.h
文件 8566 2009-12-05 19:06 HYPERli
文件 2838 2009-12-09 18:52 HYPERli
............此处省略146个文件信息
- 上一篇:数值计算 c代码及简单的MFC界面
- 下一篇:MFC实现打开外部程序
评论
共有 条评论