http://club.excelhome.net/thread-970051-1-1.html

VBA Dumper 0.1.4.2更新,填补国内同类程序空白

此程序为演示版,可以在无office的环境下Dump出复合文档的VBA代码(Excel\Word\PPT等),每个模块最大Dump长度不超过六百个字符,用于简单判断病毒基本够了。也可以用来恢复受损文件中的vba代码。
使用VBA Dumper可以在不打开office文件的情况下检查vba代码,目前的宏病毒杀毒软件基本都是这个路子。

使用方法:
1、运行之后选择.xls?|.doc?|.ppt?|.bin文件,会生成以模块名开头的文本文件,用记事本打开查看即可(支持2003/2007/2010,2013未测试)。
2、支持命令行参数,在Dos下执行:程序名  文件名
3、需要.net 4.0环境支持

演示图片:
<ignore_js_op> 
演示画面。

***********************************************************************

简单介绍一下原理:
程序启动之后,会遍历文件里面的Storge是不是Stream类型
如果是的话,再检查是不是宏Stream
是的话再检查有没有压缩的VBA代码,最后通过API解压缩,生成文本文件。

两点说明:
演示版不支持将全部的VBA代码Dump出来。也是为了防止有人用此程序做坏事,也避免可能被删帖。
本程序目前只测试了十几个个Excel、Word、PPT等文件,使用中发现Dump其他office文件有什么问题的话,请跟帖发附件。
PPT文件请另存成pptm再执行本程序

更新历史:
2013.1.11 14:00   发布0.1版。
2013.1.11 20:00   发布0.1.1版,支持命令行参数,最大Dump字符数改为600。
2013.1.12 12:30   发布0.1.1.1,删掉了中间生成Storge文件的功能(无用),更换App Ico,修正Dos窗口识别bug
2013.1.12 15:30   发布0.1.2版,支持识别第三方程序直接写入的VBA模块(非标准Stream流),该功能长期测试中,欢迎提供文档...
2013.1.13 1:00    发布0.1.3版,俺和德国哥们frank联系上了(宏扫描工具的原作者),他对俺的程序很感兴趣。考虑到程序不能写的太烂给论坛丢人,就加上了Dump 2007以上版本的功能,同时控制台输出美化了一下,俺个人觉得其实还是挺丑滴 :)
2013.1.15 23:00   发布0.1.4版,修正 Search VBA compressed stream error;Packing dll & exe to one exe file 。
2013.1.16 23:30   发布0.1.4.1版,修正 递归错误,感谢Moneky提供测试文档,请加我的QQ领福利{:soso_e113:}!
2013.1.17 11:20   发布0.1.4.2版,修正 Search VBA compressed stream error;增加模块的字符长度输出。

更新0.1.4.3版 http://club.excelhome.net/thread-1026277-1-1.html  集成到DNA Tools工具箱里面了                                    
有交流技术问题的,请QQ联系

*****************************************

顺便推荐一个Excel Micro管理工具,这个工具可以管理非工程加密的文件中的所有宏,并建立宏库。可以随时从库里面提取宏到Excel文件里面。
http://www.sowsoft.com/excel-macros.htm
<ignore_js_op> excelmp.zip (352.75 KB, 下载次数: 860)

补充内容 (2013-4-28 12:06):
http://msdn.microsoft.com/en-us/ ... v=office.12%29.aspx  Office VBA File Format Structure

补充内容 (2013-4-28 12:32):
http://wenku.baidu.com/view/1c738a4cc850ad02de8041dd.html  COM+组件设计与应用

VBA Dumper v0.1.4.2, 提取office文档中的VBA代码,监查宏病毒恢复代码(演示版的更多相关文章

  1. python、java、ruby、node等如何提取office文档中的内容?

    我相信大家都有过这样的需求,把doc.ppt.excel.pdf.txt中的文本内容提取出来.提取出来的文本内容可用于文档内容的全文索引,文档的基本内容摘要等.在度娘上搜索“如何提取文档内容”,确实有 ...

  2. C# 提取Word文档中的图片

    C# 提取Word文档中的图片 图片和文字是word文档中两种最常见的对象,在微软word中,如果我们想要提取出一个文档内的图片,只需要右击图片选择另存为然后命名保存就可以了,今天这篇文章主要是实现使 ...

  3. VSTO 向office文档中插入内容

    原文:VSTO 向office文档中插入内容 Word: Word.Selection sec = ThisAddIn.appWord.Selection;            sec.Insert ...

  4. 使用Java POI来选择提取Word文档中的表格信息

    通过使用Java POI来提取Word(1992)文档中的表格信息,其中POI支持不同的ms文档类型,在具体操作中需要注意.本文主要是通过POI来提取微软2003文档中的表格信息,具体code如下(事 ...

  5. 【.net 深呼吸】导出 Office 文档中的图片

    我们常用的 Office 文档其实就三种——Word.Excel.PowerPoint,分别对应的扩展名为:.docx..pptx..xlsx. 许多教程都告诉我们,要提取这些文件中的图片(其实像视频 ...

  6. 第一节:python提取PDF文档中的图片

    由于项目需要将PDF文档当中的图片转换成图片,所以参考了这篇文章https://blog.csdn.net/qq_15969343/article/details/81673302后项目得以解决. 1 ...

  7. Aspose.Words提取word文档中的图片文件

    /// <summary> /// 提取word中的图片 /// </summary> /// <param name="filePath">w ...

  8. 海量Office文档搜索

    知识管理系统Data Solution研发日记之十 海量Office文档搜索   经过前面两篇文章的介绍,<分享制作精良的知识管理系统 博客备份程序 Site Rebuild>和<分 ...

  9. C# Word文档中插入、提取图片,文字替换图片

    Download Files:ImageOperationsInWord.zip 简介 在这篇文章中我们可以学到在C#程序中使用一个Word文档对图像的各种操作.图像会比阅读文字更有吸引力,而且图像是 ...

随机推荐

  1. angular checkbox

    Error: ngModel:constexpr Non-Constant Expression 1.3版本 <input type="checkbox" ng-model= ...

  2. iOS常用的代码块整理

    strong @property (nonatomic,strong) <#Class#> *<#object#>; weak @property (nonatomic,wea ...

  3. next_permutation(start,end)

    一道水题,简单的next_permutation用法,相同的还有prev_permutation 包含在头文件<algorithm>中 字符串 acab 含有两个a ,一个b ,一个c , ...

  4. <<操作,&0xff以及|的巧妙运用(以POJ3523---The Morning after Halloween(UVa 1601)为例)

    <<表示左移,如a<<1表示将a的二进制左移一位,加一个0,&0xff表示取最后8个字节,如a&0xff表示取a表示的二进制中最后8个数字组成一个新的二进制数, ...

  5. CodeForces 4A

    A A - Water~melon Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit St ...

  6. Cassandra如何保证数据最终一致性

    Cassandra如何保证数据最终一致性:1.逆熵机制(Anti-Entropy)使用默克尔树(Merkle Tree)来确认多个副本数据一致,对于不一致数据,根据时间戳来获取最新数据. 2.读修复机 ...

  7. Delphi中Json格式读写

    Json是一种轻量级传输数据格式,广泛应用互联网和各应用中.json主要採用键值对来表示数据项.多个数据项之间用逗号分隔,也能够用于数组.以下注重介绍一下在delphi中使用json,在delphi中 ...

  8. 全网最详细的Windows系统里Oracle 11g R2 Client(64bit)的下载与安装(图文详解)

    不多说,直接上干货! 环境: windows10系统(64位) 最好先安装jre或jdk(此软件用来打开oracle自带的可视化操作界面,不装也没关系:可以安装plsql,或者直接用命令行操作) Or ...

  9. 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和

    例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19. 思路:我们可以先将整数的每一个数字取出来,每次取个位数字,取完后退位(将数字除以10),在取个位数字,依次取出所有的数 ...

  10. c++内存泄漏原因及解决办法(智能指针)

    内存泄漏 由于疏忽或错误造成程序未能释放已经不再使用的内存的情况.内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费. 内存泄露的 ...