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+组件设计与应用