易码技术论坛

 找回密码
 加入易码
搜索
查看: 259454|回复: 4

[分享]最新反病毒教程奉献

[复制链接]
发表于 2007-6-1 11:57:27 | 显示全部楼层
不错,支持~
发表于 2007-6-1 13:15:52 | 显示全部楼层
支持下
发表于 2007-6-16 00:00:02 | 显示全部楼层
有点像广告。不过是公益的。不错,顶个。
发表于 2007-6-18 14:00:30 | 显示全部楼层
自用的U盘防毒程序
  1. // DefU.cpp : Defines the entry point for the application.
  2. //
  3. #include "stdafx.h"
  4. #include <windows.h>
  5. LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
  6. void WINAPI Scan();
  7. void WINAPI Process(LPCSTR szDrive);
  8. char szClassName[ ] = "DefUClass";
  9. int WINAPI WinMain (HINSTANCE hThisInstance,
  10.               HINSTANCE hPrevInstance,
  11.               LPSTR lpszArgument,
  12.               int nFunsterStil)
  13. {
  14.    HANDLE hToken;
  15.    TOKEN_PRIVILEGES tkp;
  16.    OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
  17.    LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid);
  18.    tkp.PrivilegeCount = 1;
  19.    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
  20.    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, NULL);
  21.    HWND hwnd;
  22.    MSG messages;
  23.    WNDCLASSEX wincl;
  24.    wincl.hInstance = hThisInstance;
  25.    wincl.lpszClassName = szClassName;
  26.    wincl.lpfnWndProc = WindowProcedure;
  27.    wincl.style = CS_DBLCLKS;
  28.    wincl.cbSize = sizeof (WNDCLASSEX);
  29.    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
  30.    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
  31.    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
  32.    wincl.lpszMenuName = NULL;
  33.    wincl.cbClsExtra = 0;
  34.    wincl.cbWndExtra = 0;
  35.    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
  36.    if (!RegisterClassEx (&wincl))
  37.       return 0;
  38.    hwnd = CreateWindowEx (
  39.         0,
  40.         szClassName,
  41.         "DefU",
  42.         0,
  43.         CW_USEDEFAULT,
  44.         CW_USEDEFAULT,
  45.         0,
  46.         0,
  47.         HWND_DESKTOP,
  48.         NULL,
  49.         hThisInstance,
  50.         NULL
  51.         );
  52.    char szMe[MAX_PATH];
  53.    GetModuleFileName(NULL, szMe, MAX_PATH);
  54.    CReg* reg = new CReg;
  55.    reg->Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", KEY_ALL_ACCESS);
  56.    reg->SetValue("DefU", szMe);
  57.    reg->Close();
  58.    delete reg;
  59.    while (GetMessage (&messages, NULL, 0, 0))
  60.    {
  61.       TranslateMessage(&messages);
  62.       DispatchMessage(&messages);
  63.    }
  64.    return messages.wParam;
  65. }
  66. LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  67. {
  68.    switch (message)
  69.    {
  70.       case WM_DEVICECHANGE:
  71.         Scan();
  72.         break;
  73.       default:
  74.         return DefWindowProc (hwnd, message, wParam, lParam);
  75.    }
  76.    return 0;
  77. }
  78. void WINAPI Scan()
  79. {
  80.    char szDrive[] = "A:\";
  81.    for(char i = 0; i < 26; i++)
  82.    {
  83.       if(GetDriveType(szDrive) == DRIVE_FIXED || GetDriveType(szDrive) == DRIVE_REMOVABLE)
  84.       {
  85.         Process(szDrive);
  86.       }
  87.       szDrive[0] = &#39;A&#39; + i;
  88.    }
  89. }
  90. void WINAPI Process(LPCSTR szDrive)
  91. {
  92.    char szAutoRunFile[16];
  93.    strcpy(szAutoRunFile, szDrive);
  94.    strcat(szAutoRunFile, "AutoRun.inf");
  95.    if(GetFileAttributes(szAutoRunFile) == 0xffffffff)
  96.       return;
  97.    char szKeyName[][32] = {"open", "shellexecute", "shell\\open\\command", "shell\\explorer\\command", "shell\\Auto\\command"};
  98.    char szDangerousExt[][5] = {".exe", ".scr", ".bat", ".com", ".vbs", ".vba", ".js", ".pif"};
  99.    char szOpenFileName[MAX_PATH];
  100.    for(char i =  0; i < 5; i++)
  101.    {
  102.       if(GetPrivateProfileString("AutoRun", szKeyName[i], "NULL", szOpenFileName, MAX_PATH, szAutoRunFile) > 4)
  103.       {
  104.         strlwr(szOpenFileName);
  105.         for(char j = 0; j < 8; j++)
  106.         {
  107.            if(strcmp(szOpenFileName + strlen(szOpenFileName) - strlen(szDangerousExt[j]), szDangerousExt[j]) == 0)
  108.            {
  109.               SetCurrentDirectory(szDrive);
  110.               SetFileAttributes(szOpenFileName, FILE_ATTRIBUTE_NORMAL);
  111.               DeleteFile(szOpenFileName);
  112.               SetFileAttributes(szAutoRunFile, FILE_ATTRIBUTE_NORMAL);
  113.               DeleteFile(szAutoRunFile);
  114.            }
  115.         }
  116.       }
  117.    }
  118. }
复制代码
  1. class CReg  
  2. {
  3. public:
  4.    void Close();
  5.    BOOL SetValue(LPCSTR lpName, LPCSTR lpValue);
  6.    BOOL Open(HKEY hKey, LPCSTR lpSubKey, REGSAM samDesired);
  7.    CReg();
  8.    virtual ~CReg();
  9. private:
  10.    HKEY m_hKey;
  11. };
复制代码
  1. // Reg.cpp: implementation of the CReg class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "Reg.h"
  6. #ifdef _DEBUG
  7. #undef THIS_FILE
  8. static char THIS_FILE[]=__FILE__;
  9. #define new DEBUG_NEW
  10. #endif
  11. //////////////////////////////////////////////////////////////////////
  12. // Construction/Destruction
  13. //////////////////////////////////////////////////////////////////////
  14. CReg::CReg()
  15. {
  16.    m_hKey = NULL;
  17. }
  18. CReg::~CReg()
  19. {
  20.    if(m_hKey != NULL)
  21.       RegCloseKey(m_hKey);
  22. }
  23. BOOL CReg::Open(HKEY hKey, LPCSTR lpSubKey, REGSAM samDesired)
  24. {
  25.    if(m_hKey != NULL)
  26.       RegCloseKey(m_hKey);
  27.    if(RegOpenKeyEx(hKey, lpSubKey, 0, samDesired, &m_hKey) == ERROR_SUCCESS)
  28.       return TRUE;
  29.    else
  30.    {
  31.       m_hKey = NULL;
  32.       return FALSE;
  33.    }
  34. }
  35. BOOL CReg::SetValue(LPCSTR lpName, LPCSTR lpValue) //REG_SZ
  36. {
  37.    if(m_hKey == NULL)
  38.       return FALSE;
  39.    if(RegSetValueEx(m_hKey, lpName, 0, REG_SZ, (CONST BYTE*)lpValue, strlen(lpValue) + 1) != ERROR_SUCCESS)
  40.       return FALSE;
  41.    else
  42.       return TRUE;
  43. }
  44. void CReg::Close()
  45. {
  46.    if(m_hKey != NULL)
  47.       RegCloseKey(m_hKey);
  48.    m_hKey = NULL;
  49. }
复制代码
 楼主| 发表于 2007-6-1 10:03:17 | 显示全部楼层 |阅读模式
  安全专家推荐最新反病毒教程

著名安全专家陈十三哥 125546878 ,带你深入了解反病毒和反病毒软件。
电脑病毒已经成为一种社会现象,你可以不知道DOS,可以不知道视窗操作系统,但是你不可能不知道电脑病毒。电脑病毒本身和围绕电脑病毒的种种宣传、舆论,已经极大地影响了我们的生活。电脑机病毒象一种传染力极大的瘟疫一样,幽灵般的在各种各样的电脑中出没。然而,电脑病毒作为一种特殊的软件,想要确实触摸到它的存在,对于普通用户是比较困难的。如何判断一个文件是不是被病毒感染?最简单的办法当然是比较没有被感染的文件和怀疑被感染的文件,但是有谁会在电脑中保存一份没有被感染的文件,谁又能保证这个文件本身没有被感染呢?
很多机构对电脑病毒在我国的存在和传播情况进行过调查,虽然调查的范围和目的大不相同,但是它们的结论基本上是一致的:数据显示,80%以上的计算机用户遭遇过病毒,而且遭遇病毒的次数都远远大于一次。但是另一方面,根据我们技术支持部门的统计,实际用户在使用电脑的过程中,一半以上归结为病毒的现象,都是由于硬件故障或者对于软件的使用不当造成的。也就是说,真正遭遇病毒的用户并没有想像中那么多。在病毒和反病毒行业中,掌握了最多病毒和反病毒知识无疑不是学校的老师,而是整天和病毒打交道的厂商,而这些从杀毒软件上获取了大量利润的厂商出于种种目的(广大电脑用户的无知也许就是他们最大的机会和利润所在吧),将一些很简单的问题,很简单的答案隐藏在广告和宣传的迷雾中,有意无意的夸大病毒的危害,误导用户对所面临的问题作出正确的判断,把不是病毒的现象当成病毒,把杀毒软件无法解决的问题归结为系统本身的缺陷。

在中国,对下一代的重视远远超过世界上任何其他国家,大量经济并不非常宽裕的家庭为了孩子,把很大一笔积蓄都投资到一台电脑上面。由于没有全部购买正版软件,不可避免的会经常遇到一些怀疑是病毒造成的现象;由于缺乏足够的知识,只能去询问朋友或者病急乱投医,根据广告或者自己的第一印象购买一些杀毒软件。杀毒软件厂商也利用媒体所造成的对计算机病毒的恐惧,制造一些病毒事件,夸大甚至制造一种恐慌情绪,从而成功的达到最终目的,让用户花钱购买杀毒软件,以及不断的对杀毒软件进行版本升级,从中获取高额的利润。
我希望读者观看和学习本系列 反病毒 教程 之后,能够不同程度的掌握足够的病毒和反病毒的知识,拥有足够的判断力对自己面临的问题、现象进行诊断,知道自己所面对的是硬件故障,病毒还是其他什么原因所造成的现象,从而作出恰当的决定,保护自己的电脑和电脑上更加重要的数据。
知识就是力量,把这句话送给本教程的所有读者。
http://down.sec120.com/chenshisan/陈十三哥作品病毒研究第0讲.rar
http://down.sec120.com/chenshisan/陈十三哥作品病毒研究第1讲.rar
http://down.sec120.com/chenshisan/陈十三哥作品病毒研究第2讲.rar
http://down.sec120.com/chenshisan/陈十三哥作品病毒研究第3讲.rar
http://down.sec120.com/chenshisan/陈十三哥作品病毒研究第4讲.rar
未完待续
http://down.sec120.com/chenshisan/陈十三哥vista第1讲.rar
http://down.sec120.com/chenshisan/陈十三哥vista第2讲.rar
http://down.sec120.com/chenshisan/陈十三哥vista第3讲.rar
未完待续
好象要密码的。好象是www.juntuan.cn  或者是www.juntuan.net 忘记了。大家可以试下这两个
不会下载或者找他们吧QQ :3570745      3574186
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2021-10-17 14:56 , Processed in 0.029659 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表