首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心计算机论文计算机理论
   穷举破解EXCEL、WORD文档密码      ★★★ 【字体: 】  
穷举破解EXCEL、WORD文档密码
收集整理:佚名    来源:本站整理  时间:2009-01-10 12:07:20   点击数:[]    

[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持]

摘要:本文讨论了如何使用VB编程,通过穷举法解除EXCEL文档和WORD文档的密码。并在破解过程中加入了中断,以方便用户随时中断破解过程。

关键字:穷举法、解密、EXCEL文档、WORD文档、密码

Excel和Word提供了多种方法限制访问用户文档,以免未经授权者的查看和更改。但在信息化的今天,用户需要记忆的密码太多,一旦密码丢失,用户将无法打开或访问该文档,给用户造成很大的损失。能否借助计算机的高速运行,解开密码呢?通过尝试,笔者认为:在无法弄清Excel和Word加密算法的情况下,利用穷举法尝试解密文档,是解密唯一的选择。

1. 实现原理
本程序选用VB6.0编写,并充分利用了Office组件中的对象库,穷举尝试各种口令,达到解密文档的目的。
⑴ 巧用整数的取整及取余,产生密码字符串
Excel和Word文档密码可以是字母、数字、空格以及符号的任意组合,最长可达 15 个字符,且区分大小写。
本程序的破解过程利用一个两层循环,产生选定字符的排列组合(尝试密码),其中外层循环控制密码的位数,内层循环生成N位密码的所有排列组合。产生尝试密码的方法是:将一个N位字符串密码(password)作为一个“数值”,该“数值”每个位上的“数字”属于选定字符范围,且该“数值”与一个整数(X)一一对应,并满足以下条件: 0 ≤X ≤ArrayLenN-1(ArrayLen是选定密码字符范围的总字符数,如:仅选定数字时,ArrayLen=10;仅选定数字和小写字母时,ArrayLen=10+26=36);对X整除、取余N-1次,对每次的余数Y做以下操作:password = password + CharArray(Y) (注:CharArray是存放选定字符的一维数组),最后做以下操作:password = CharArray(X MOD ArrayLen) + password,产生的password 就是整数X对应的N位字符串。
⑵ 利用VB的错误处理功能,尝试口令破解
当运行程序尝试一个密码时(用该密码打开文档),若密码错误,则会产生运行错误。为此,必须在尝试口令前,使用On Error 语句打开一个错误处理程序;由于本程序是尝试各种口令,当一个口令错误时,直接尝试下一个口令即可,因此,应使用 “On Error Resume Next”语句。
那么,如何得知找到口令了呢? VB有一个内部错误对象Err,它的 Number 属性中的值是用来确定发生错误的原因。在尝试一个口令后,检查Err.Number中的值,以确定该口令是否正确。
⑶ 破解过程中的中断
利用穷举法解密对系统资源的占用是十分惊人的,在解密的过程中CPU的利用率几乎是100%,若不加入解密过程中的中断,计算机系统会处于一种假死机状态。为此,在破解过程的内循环中加入了DoEvents函数。DoEvents函数提供了一种取消任务的简便方法,它将控制切换到操作环境内核。只要此环境中的所有应用程序都有机会响应待处理事件,应用程序就又恢复控制。使用该函数的优点是:不会使应用程序放弃焦点,且后台事件能够得到有效处理。
2. 具体实现过程
编程实现时,需要机器安装有VB应用程序及Microsoft Office组件。
⑴ 新建VB工程,并对其初始化
新建一个VB工程,取名Get_Password,将启动窗体命名为FrmMain。首先选择“工程”菜单中的“引用”,在“引用”对话框中选择“Microsoft Excel10.0 Object Library”和“Microsoft Word10.0 Object Library”(注意:如果安装的是Office2000或Office97,应该选择Excel对象库和Word对象库的9.0版或8.0版)。其次在“工程”菜单中“部件”对话框中,选择添加“Microsoft Windows common controls -2.5(sp2)”和“Microsoft Common Dialog control 6.0”,以便在窗体设计中使用微调控件和对话框控件。
⑵ 在FrmMain窗体上添加控件
在FrmMain窗体上,按照下图的位置添加表1中的控件,然后根据表1修改每个对象的属性。
 
表1:
序号      控件名称      控件属性及其属性值
1      Frame      Name=Frame1,Caption=选择加密文件(*.DOC、*.XLS)
2      Frame      Name=Frame2,Caption=选定密码字符范围:
3      Frame      Name=Frame3,Caption=选择密码的长度:
4      ComboBow      Name=Combo1
5      CommandButton      Name=CmdBrowse,Caption=浏览
6      CommandButton      Name=CmdStartCrack,Caption=开始破解
7      CommandButton      Name=CmdQuit,Caption=退出系统
8      CheckBox      Name=ChkDigital,Caption=数字(10)
9      CheckBox      Name=ChkLowercase,Caption=小写字母(26)
10      CheckBox      Name=ChkUppercase,Caption=大写字母(26)
11      CheckBox      Name=ChkSpace,Caption=空格(1)
12      CheckBox      Name=ChkBracket,Caption=括号(6)
13      CheckBox      Name=ChkOthers,Caption=其他OEM字符(26)
14      TextBox      Name=txtPasswordStartLong, Text=2
15      TextBox      Name=txtPasswordEndLong,Text=2
16      TextBox      Name=Text1
17      UpDown      Name=UpDown1,BuddyProperty=Text,Wrap=TRUE,Increment=1
           BuddyControl=txtPasswordStartLong,Max=15,Min=
18      UpDown      Name=UpDown2,BuddyProperty=Text,Wrap=TRUE,Increment=1
           BuddyControl=txtPasswordEndLong,Max=15,Min=1
19      CommonDialog      Name=Dialog,DialogTitle=请选择加密的Excel或Word文档
           Filter=Excel(*.xls),Word

[1] [2] [3]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:一种启发式频率分配算法

  • 下一篇文章:基于HCI协议层的蓝牙通用外接模块的研究开发
  • 返回上一页】【打 印】【关闭窗口
    中查找“穷举破解EXCEL、WORD文档密码”更多相关内容 5VAR论文频道
    中查找“穷举破解EXCEL、WORD文档密码”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››中小企业办公自动化系统的设计与实...
  • ››未雨绸缪:关于我国电子商务税收对...
  • ››网上书店为钱做秀 行业走势两极分...
  • ››Win2000索引服务的WEB应用
  • ››宽带化――电信发展的必由之路务
  • ››电子商务中x种错误思路和做法
  • ››网络营销与传统营销相比有何优势
  • ››Internet的下一个热点 从内容走向服...
  • ››基于CNAPS的流水号管理方法
  • ››网络时代的财务与会计:管理集成与...
  • ››穷举破解EXCEL、WORD文档密码
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .