zoukankan      html  css  js  c++  java
  • 恶意宏学习备忘03——手动清除文档宏

    0x01破坏宏标志
    在解析OLE文件时,我们介绍过Directory,其中其偏移0x42H这个字节的表示DirectoryEntry的类型Type。0为非 法,1为目录(storage),2为节点(Stream),5为根节点。 我们可以定位宏工程所使用的Directory,将Type位修改为0,即非法Directory,这样Office办公软件在解析VBA工程 时,会因为非法Directory而导致解析错误。 如图所示,表示该扇区类型的字节记录在偏移0x42处,该处值为1,表示该扇区是目录扇区,该扇区记录着Macros 文件的地址。将偏移0x42处值修改为0,表示该扇区是非法扇区,office办公软件解析文档是就会忽略该扇区,也就无 法找到存储Macros的扇区了。

    在上图中,我们值修改了名为“宏”的这个目录中。实际上,用于宏的指南还有两个,分别名为 “VBA”,和 “_VAB_PROJECT_CUR”,分别是宏,VBA和的VBAProject扇区,

    0x02手工清理宏(针对* .DOCM和* .XLSM文档)

    首先拷贝文件,生成文件副本,将文件后缀名修改为ZIP

    打开拉链文件(不要解压),下面两个图中,上图是* .DOCM的情况,下图是* .XLSM的情况

     ·打开word(xl)文件夹,删除vbaProject.bin文件

     ·将ZIP文件后缀名修改为.DOC或.xls的。文件可以正常使用。 

    0x03 替换宏代码
    上述方式修改标志位,对文档中的宏代码数据没有做丝毫改变,这样处理之后杀毒软件仍然会查杀。
    我们已经可以解析宏数据,那么我们就可以将宏代码进行修改和替换,如使用字符'a'替换宏代码中的每一个字符。例 如MsgBox“hello”,就会被修改为aaaaaaaaaaaa。这样修改之后整个宏都已经被修改和破坏掉,杀软将不会查杀, 文档也可以正常使用。

  • 相关阅读:
    TDengine 基本操作
    Spark 提交运行 保存结果 流程控制
    Redis 分布式锁
    Linux 基础命令
    HIVE 分桶模式
    EX: 这里是收集的面试题
    使用python批量创建 mysql 表
    Navicat写MySQL触发器,用来同步表
    NXOpen 创建体获取所有边、边端点信息,过虑竖边倒圆水平边倒角
    NXOpen遍历实体移除参数和改色
  • 原文地址:https://www.cnblogs.com/lsh123/p/11328434.html
Copyright © 2011-2022 走看看