news 2026/4/24 9:00:31

EvilClippy权限控制:设置和移除VBA项目锁定保护的终极指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
EvilClippy权限控制:设置和移除VBA项目锁定保护的终极指南

EvilClippy权限控制:设置和移除VBA项目锁定保护的终极指南

【免费下载链接】EvilClippyA cross-platform assistant for creating malicious MS Office documents. Can hide VBA macros, stomp VBA code (via P-Code) and confuse macro analysis tools. Runs on Linux, OSX and Windows.项目地址: https://gitcode.com/gh_mirrors/ev/EvilClippy

EvilClippy是一款强大的跨平台工具,专为创建恶意MS Office文档设计。它能够隐藏VBA宏、通过P-Code破坏VBA代码并迷惑宏分析工具,支持Linux、OSX和Windows系统。本文将详细介绍如何使用EvilClippy进行VBA项目锁定保护的设置与移除,帮助安全研究人员和开发者更好地理解Office文档的安全机制。

📌 为什么需要VBA项目锁定保护?

VBA项目锁定保护是保护Office文档中宏代码的重要手段。通过设置锁定保护,可以防止未授权用户查看或修改宏代码,这对于保护知识产权和防止恶意篡改具有重要意义。然而,在安全研究和渗透测试中,有时需要移除或绕过这些保护以分析潜在的安全风险,EvilClippy为此提供了便捷的解决方案。

🔧 EvilClippy的安装与准备

在开始使用EvilClippy进行VBA项目权限控制之前,需要先完成工具的安装和准备工作。

1. 克隆项目仓库

首先,通过以下命令克隆EvilClippy项目仓库:

git clone https://gitcode.com/gh_mirrors/ev/EvilClippy

2. 编译可执行文件

根据项目中的编译说明,EvilClippy可以通过Mono或Visual Studio开发者命令提示符进行编译。

  • 使用Mono编译

    mcs /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe *.cs
  • 使用Visual Studio开发者命令提示符编译

    csc /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe *.cs

编译完成后,将生成EvilClippy.exe可执行文件,用于后续的VBA项目权限控制操作。

🛡️ 设置VBA项目锁定保护

EvilClippy提供了简单易用的命令行选项,用于设置VBA项目为锁定/不可查看状态。

核心命令选项

在EvilClippy中,设置VBA项目锁定保护的核心命令选项是-u--unviewableVBA。该选项通过修改VBA项目流中的CMGGC字段,实现项目的锁定保护。

操作步骤

  1. 准备目标Office文档:确保你有一个包含VBA宏的Office文档(如.docm.xlsm文件)。

  2. 执行锁定命令:使用以下命令将VBA项目设置为锁定/不可查看状态:

    EvilClippy.exe -u input.docm

    其中,input.docm是你要处理的目标Office文档。执行该命令后,EvilClippy会生成一个新的文件(默认在原文件名后添加_EvilClippy后缀),该文件中的VBA项目已被设置为锁定状态。

实现原理

EvilClippy设置VBA项目锁定保护的核心代码位于evilclippy.cs文件中。通过正则表达式替换project流中的CMGGC字段为空值,从而实现项目的锁定:

// 代码片段来自evilclippy.cs if (optionUnviewableVBA) { string tmpStr = Regex.Replace(projectStreamString, "CMG=\".*\"", "CMG=\"\""); string newProjectStreamString = Regex.Replace(tmpStr , "GC=\".*\"", "GC=\"\"" ); // Write changes to project stream commonStorage.GetStream("project").SetData(Encoding.UTF8.GetBytes(newProjectStreamString)); }

这段代码将CMGGC字段的值设置为空字符串,使VBA项目在Office中显示为锁定状态,无法查看或编辑宏代码。

🔓 移除VBA项目锁定保护

除了设置锁定保护,EvilClippy还提供了移除VBA项目锁定保护的功能,使原本锁定的VBA项目恢复为可查看/可编辑状态。

核心命令选项

移除VBA项目锁定保护的核心命令选项是-uu--viewableVBA。该选项通过恢复project流中的CMGIDDPBGC字段的默认值,解除项目的锁定状态。

操作步骤

  1. 准备锁定的Office文档:确保你有一个已被锁定的VBA项目的Office文档。

  2. 执行解锁命令:使用以下命令将VBA项目恢复为可查看/可编辑状态:

    EvilClippy.exe -uu locked_document.docm

    执行该命令后,EvilClippy会生成一个新的文件,该文件中的VBA项目已被解除锁定,可以在Office的VBA编辑器中查看和编辑宏代码。

实现原理

EvilClippy移除VBA项目锁定保护的核心代码同样位于evilclippy.cs文件中。通过正则表达式将CMGIDDPBGC字段恢复为默认值,从而解除锁定:

// 代码片段来自evilclippy.cs if (optionViewableVBA) { Console.WriteLine("Making the project visible..."); string tmpStr = projectStreamString; tmpStr = Regex.Replace(tmpStr, "CMG=\"?.*\"?", "CMG=\"CAC866BE34C234C230C630C6\""); tmpStr = Regex.Replace(tmpStr, "ID=\"?.*\"?", "ID=\"{00000000-0000-0000-0000-000000000000}\""); tmpStr = Regex.Replace(tmpStr, "DPB=\"?.*\"?", "DPB=\"94963888C84FE54FE5B01B50E59251526FE67A1CC76C84ED0DAD653FD058F324BFD9D38DED37\""); tmpStr = Regex.Replace(tmpStr, "GC=\"?.*\"?", "GC=\"5E5CF2C27646414741474\""); string newProjectStreamString = tmpStr; // Write changes to project stream commonStorage.GetStream("project").SetData(Encoding.UTF8.GetBytes(newProjectStreamString)); }

这段代码将CMGIDDPBGC字段设置为特定的默认值,使VBA项目恢复为可查看和编辑状态。

💡 高级技巧:结合其他选项使用

EvilClippy还提供了其他有用的选项,可以与VBA项目锁定保护功能结合使用,以实现更复杂的操作。

1. 隐藏/显示VBA模块

  • 隐藏模块:使用-g--guihide选项可以将VBA模块从VBA编辑器的GUI中隐藏:

    EvilClippy.exe -u -g input.docm
  • 显示模块:使用-gg--guiunhide选项可以将隐藏的VBA模块重新显示在VBA编辑器的GUI中:

    EvilClippy.exe -uu -gg locked_document.docm

2. 删除元数据

使用-d--delmetadata选项可以删除Office文档中的元数据,保护文档创建者的信息:

EvilClippy.exe -u -d input.docm

3. 设置随机模块名称

使用-r--randomnames选项可以为VBA模块设置随机名称,增加分析难度:

EvilClippy.exe -u -r input.docm

📝 总结

EvilClippy是一款功能强大的工具,为VBA项目的权限控制提供了便捷的解决方案。通过本文介绍的-u(设置锁定)和-uu(移除锁定)选项,你可以轻松地控制VBA项目的可查看性和可编辑性。无论是出于安全研究目的还是日常开发需求,EvilClippy都能帮助你更好地管理Office文档中的VBA宏代码。

在使用EvilClippy时,请确保遵守相关法律法规,仅在授权的环境中使用该工具进行安全测试和研究。合理利用EvilClippy的功能,可以提高对Office文档安全机制的理解,从而更好地保护自己的文档和系统安全。

如果你想深入了解EvilClippy的更多功能,可以查看项目中的源代码文件,如evilclippy.cs和options.cs,以获取更详细的实现细节和命令选项说明。

【免费下载链接】EvilClippyA cross-platform assistant for creating malicious MS Office documents. Can hide VBA macros, stomp VBA code (via P-Code) and confuse macro analysis tools. Runs on Linux, OSX and Windows.项目地址: https://gitcode.com/gh_mirrors/ev/EvilClippy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 8:57:08

nli-MiniLM2-L6-H768惊艳效果:支持Unicode表情符号作为标签或输入文本

nli-MiniLM2-L6-H768惊艳效果:支持Unicode表情符号作为标签或输入文本 1. 模型概述 nli-MiniLM2-L6-H768是一款基于cross-encoder/nli-MiniLM2-L6-H768轻量级NLI模型开发的本地零样本文本分类工具。它最大的特点是无需任何微调训练,只需输入文本和自定…

作者头像 李华
网站建设 2026/4/24 8:56:11

如何使用Terminalizer:AI模型训练过程的终极终端记录工具

如何使用Terminalizer:AI模型训练过程的终极终端记录工具 【免费下载链接】terminalizer 🦄 Record your terminal and generate animated gif images or share a web player 项目地址: https://gitcode.com/gh_mirrors/te/terminalizer Terminal…

作者头像 李华
网站建设 2026/4/24 8:53:03

we-cropper canvas2d模式实战:高性能图片裁剪解决方案

we-cropper canvas2d模式实战:高性能图片裁剪解决方案 【免费下载链接】we-cropper 微信小程序图片裁剪工具 项目地址: https://gitcode.com/gh_mirrors/we/we-cropper we-cropper是一款专为微信小程序开发的图片裁剪工具,提供了高效、灵活的图片…

作者头像 李华
网站建设 2026/4/24 8:50:07

魔兽争霸III终极优化指南:WarcraftHelper插件完全解析

魔兽争霸III终极优化指南:WarcraftHelper插件完全解析 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III的古老限制而困扰…

作者头像 李华
网站建设 2026/4/24 8:46:22

Office Custom UI Editor:打造专属办公界面的终极免费工具

Office Custom UI Editor:打造专属办公界面的终极免费工具 【免费下载链接】office-custom-ui-editor Standalone tool to edit custom UI part of Office open document file format 项目地址: https://gitcode.com/gh_mirrors/of/office-custom-ui-editor …

作者头像 李华