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. MongDB篇,第四章:数据库知识4

    MongDB 数据库知识4 GridFS 大文件存储 文件的数据库存储 1,在数据库中以   字符串的方式  存储文件在本地的路径: 优点: 节省数据库空间 缺点: 当数据库或者文件位置发生变化时则无 ...

  2. pytorch实现rnn并且对mnist进行分类

    1.RNN简介 rnn,相比很多人都已经听腻,但是真正用代码操练起来,其中还是有很多细节值得琢磨. 虽然大家都在说,我还是要强调一次,rnn实际上是处理的是序列问题,与之形成对比的是cnn,cnn不能 ...

  3. [LeetCode&Python] Problem 13. Roman to Integer

    Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 ...

  4. Unity等待写入数据

    EasyTouch中QuickGesture的用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Qu ...

  5. SQLI DUMB SERIES-5

    less5 (1)输入单引号,回显错误,说明存在注入点.输入的Id被一对单引号所包围,可以闭合单引号 (2)输入正常时:?id=1 说明没有显示位,因此不能使用联合查询了:可以使用报错注入,有两种方式 ...

  6. 模块化,AMD规范

    模块化:代码量比较大,可能会有几个人同时写一个页面,同样写在一个文件里面,可能会有冲突,模块化可以解决代码的冲突(匿名函数调用,自己调用自己,就是立即执行函数) 团队的分工更加的明确 异步的执行: A ...

  7. Go Example--关闭通道

    package main import ( "fmt" ) func main() { jobs := make(chan int, 5) done := make(chan bo ...

  8. 【HAOI2015】 T1

    为什么感觉越来越迷了X. X 原题: 有一棵点数为 N 的树,树边有边权.给你一个在 0~N 之内的正整数 K,你要在这棵树中选择 K 个点,将其染成黑色,并将其他的N-K 个点染成白色.将所有点染色 ...

  9. Linux内核启动分析笔记

    一.驱动加载 1.驱动加载调用关系 start_kernel //init/main.c rest_init //最后执行它 kernel_init //使用kernel_thread创建一个进程执行 ...

  10. 手动安装python库

    有些时候由于工作环境的限制如proxy,不能自动安装python 的第三方的库(用python –m pip install package).在这个情况下,只能自己手动安装.以xlwt-1.3.0. ...