EXCEL密码破解无需任何工具插件超简单.docx
- 文档编号:4566430
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:15
- 大小:22.04KB
EXCEL密码破解无需任何工具插件超简单.docx
《EXCEL密码破解无需任何工具插件超简单.docx》由会员分享,可在线阅读,更多相关《EXCEL密码破解无需任何工具插件超简单.docx(15页珍藏版)》请在冰豆网上搜索。
EXCEL密码破解无需任何工具插件超简单
实用标准文案
此方法无需任何工具只需要按照以下步骤操作就可以破解EXCEL密码,方便简单快捷
EXCEL密码破解
1\打开文件
2\工具---宏----录制新宏---输入名字如:
aa
3\停止录制(这样得到一个空宏)
4\工具---宏----宏,选aa,点编辑按钮
5\删除窗口中的所有字符(只有几个),替换为下面的内容:
(复制吧)
6\关闭编辑窗口
7\工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定.OK,没有密码了!
!
内容如下:
PublicSubAllInternalPasswords()
'Breaksworksheetandworkbookstructurepasswords.BobMcCormick
'probablyoriginatorofbasecodealgorithmmodifiedforcoverage
'ofworkbookstructure/windowspasswordsandformultiplepasswords
'
'NormanHarkerandJEMcGimpsey27-Dec-2002(Version1.1)
'Modified2003-Apr-04byJEM:
Allmsgstoconstants,and
'eliminateoneExitSub(Version1.1.1)
'RevealshashedpasswordsNOToriginalpasswords
ConstDBLSPACEAsString=vbNewLine&vbNewLine
ConstAUTHORSAsString=DBLSPACE&vbNewLine&_
AdaptedfromBobMcCormickbasecodeby&_
NormanHarkerandJEMcGimpsey
ConstHEADERAsString=AllInternalPasswordsUserMessage
ConstVERSIONAsString=DBLSPACE&Version1.1.12003-Apr-04
ConstREPBACKAsString=DBLSPACE&Pleasereportfailure&_
othemicrosoft.public.excel.programmingnewsgroup.
ConstALLCLEARAsString=DBLSPACE&Theworkbookshould&_
owbefreeofallpasswordprotection,somakesureyou:
&_
DBLSPACE&SAVEITNOW!
&DBLSPACE&andalso&_
DBLSPACE&BACKUP!
BACKUP!
!
BACKUP!
!
!
&_
DBLSPACE&Also,rememberthatthepasswordwas&_
putthereforareason.Don'tstuffupcrucialformulas&_
ordata.&DBLSPACE&Accessanduseofsomedata&_
maybeanoffense.Ifindoubt,don't.
ConstMSGNOPWORDS1AsString=Therewerenopasswordson&_
sheets,orworkbookstructureorwindows.&AUTHORS&VERSION
ConstMSGNOPWORDS2AsString=Therewasnoprotectionto&_
workbookstructureorwindows.&DBLSPACE&_
Proceedingtounprotectsheets.&AUTHORS&VERSION
ConstMSGTAKETIMEAsString=AfterpressingOKbuttonthis&_
文档.
实用标准文案
willtakesometime.&DBLSPACE&Amountoftime&_
dependsonhowmanydifferentpasswords,the&_
passwords,andyourcomputer'sspecification.&DBLSPACE&_
Justbepatient!
Makemeacoffee!
&AUTHORS&VERSION
ConstMSGPWORDFOUND1AsString=YouhadaWorksheet&_
StructureorWindowsPasswordset.&DBLSPACE&_
Thepasswordfoundwas:
&DBLSPACE&$$&DBLSPACE&_
Noteitdownforpotentialfutureuseinotherworkbooksby&_
hesamepersonwhosetthispassword.&DBLSPACE&_
Nowtocheckandclearotherpasswords.&AUTHORS&VERSION
ConstMSGPWORDFOUND2AsString=YouhadaWorksheet&_
passwordset.&DBLSPACE&Thepasswordfoundwas:
&_
DBLSPACE&$$&DBLSPACE&Noteitdownforpotential&_
utureuseinotherworkbooksbysamepersonwho&_
setthispassword.&DBLSPACE&Nowtocheckandclear&_
otherpasswords.&AUTHORS&VERSION
ConstMSGONLYONEAsString=Onlystructure/windows&_
protectedwiththepasswordthatwasjustfound.&_
ALLCLEAR&AUTHORS&VERSION&REPBACK
Dimw1AsWorksheet,w2AsWorksheet
DimiAsInteger,jAsInteger,kAsInteger,lAsInteger
DimmAsInteger,nAsInteger,i1AsInteger,i2AsInteger
Dimi3AsInteger,i4AsInteger,i5AsInteger,i6AsInteger
DimPWord1AsString
DimShTagAsBoolean,WinTagAsBoolean
Application.ScreenUpdating=False
WithActiveWorkbook
WinTag=.ProtectStructureOr.ProtectWindows
EndWith
ShTag=False
ForEachw1InWorksheets
ShTag=ShTagOrw1.ProtectContents
Nextw1
IfNotShTagAndNotWinTagThen
MsgBoxMSGNOPWORDS1,vbInformation,HEADER
ExitSub
EndIf
MsgBoxMSGTAKETIME,vbInformation,HEADER
IfNotWinTagThen
MsgBoxMSGNOPWORDS2,vbInformation,HEADER
Else
OnErrorResumeNext
Do'dummydoloop
Fori=65To66:
Forj=65To66:
Fork=65To66
文档.
实用标准文案
Forl=65To66:
Form=65To66:
Fori1=65To66
Fori2=65To66:
Fori3=65To66:
Fori4=65To66
Fori5=65To66:
Fori6=65To66:
Forn=32To126
WithActiveWorkbook
.UnprotectChr(i)&Chr(j)&Chr(k)&_
Chr(l)&Chr(m)&Chr(i1)&Chr(i2)&_
Chr(i3)&Chr(i4)&Chr(i5)&Chr(i6)&Chr(n)
If.ProtectStructure=FalseAnd_
.ProtectWindows=FalseThen
PWord1=Chr(i)&Chr(j)&Chr(k)&Chr(l)&_
Chr(m)&Chr(i1)&Chr(i2)&Chr(i3)&_
Chr(i4)&Chr(i5)&Chr(i6)&Chr(n)
MsgBoxApplication.Substitute(MSGPWORDFOUND1,_
$$,PWord1),vbInformation,HEADER
ExitDo'Bypassallfor...nexts
EndIf
EndWith
Next:
Next:
Next:
Next:
Next:
Next
Next:
Next:
Next:
Next:
Next:
Next
LoopUntilTrue
OnErrorGoTo0
EndIf
IfWinTagAndNotShTagThen
MsgBoxMSGONLYONE,vbInformation,HEADER
ExitSub
EndIf
OnErrorResumeNext
ForEachw1InWorksheets
'AttemptclearancewithPWord1
w1.UnprotectPWord1
Nextw1
OnErrorGoTo0
ShTag=False
ForEachw1InWorksheets
'ChecksforallclearShTagtriggeredto1ifnot.
ShTag=ShTagOrw1.ProtectContents
Nextw1
IfShTagThen
ForEachw1InWorksheets
Withw1
If.ProtectContentsThen
OnErrorResumeNext
Do'Dummydoloop
Fori=65To66:
Forj=65To66:
Fork=65To66
文档.
实用标准文案
Forl=65To66:
Form=65To66:
Fori1=65To66
Fori2=65To66:
Fori3=65To66:
Fori4=65To66
Fori5=65To66:
Fori6=65To66:
Forn=32To126
.UnprotectChr(i)&Chr(j)&Chr(k)&_
Chr(l)&Chr(m)&Chr(i1)&Chr(i2)&Chr(i3)&_
Chr(i4)&Chr(i5)&Chr(i6)&Chr(n)
IfNot.ProtectContentsThen
PWord1=Chr(i)&Chr(j)&Chr(k)&Chr(l)&_
Chr(m)&Chr(i1)&Chr(i2)&Chr(i3)&_
Chr(i4)&Chr(i5)&Chr(i6)&Chr(n)
MsgBoxApplication.Substitute(MSGPWORDFOUND2,_
$$,PWord1),vbInformation,HEADER
'leveragefindingPwordbytryingonothersheets
ForEachw2InWorksheets
w2.UnprotectPWord1
Nextw2
ExitDo'Bypassallfor...nexts
EndIf
Next:
Next:
Next:
Next:
Next:
Next
Next:
Next:
Next:
Next:
Next:
Next
LoopUntilTrue
OnErrorGoTo0
EndIf
EndWith
Nextw1
EndIf
MsgBoxALLCLEAR&AUTHORS&VERSION&REPBACK,vbInformation,HEADER
EndSub
文档.
实用标准文案
穷举破解EXCEL、WORD文档密码
摘要:
本文讨论了如何使用VB编程,通过穷举法解除EXCEL文档和WORD文档的密码。
并在破解过程中加入了中断,以方便用户随时中断破解过程。
关键字:
穷举法、解密、EXCEL文档、WORD文档、密码
Excel和Word提供了多种限制访问用户文档,以免XX者的查看和更改。
但在信息化的今天,用户方法需要记忆的密码太多,一旦密码丢失,用户将无法打开或访问该文档,给用户造成很大的损失。
能否借助计机的高速运行,解开密码呢?
通过尝试,笔者认为:
在无法弄清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(XMODArrayLen)+password,产生的password就是整数X对应的N位字符串。
⑵利用VB的错误处理功能,尝试口令破解
当运行程序尝试一个密码时(用该密码打开文档),若密码错误,则会产生运行错误。
为此,必须在尝试口令前,使用OnError语句打开一个错误处理程序;由于本程序是尝试各种口令,当一个口令错误时,直接尝试下一个口令即可,因此,应使用“OnErrorResumeNext”语句。
那么,如何得知找到口令了呢?
VB有一个内部错误对象Err,它的Number属性中的值是用来确定发生错误的原因。
在尝试一个口令后,检查Err.Number中的值,以确定该口令是否正确。
⑶破解过程中的中断
利用穷举法解密对系统资源的占用是十分惊人的,在解密的过程中CPU的利用率几乎是100%,若不加入解密过程中的中断,机系统会处于一种假死机状态。
为此,在破解过程的内循环中加入了DoEvents函数。
计算DoEvents函数提供了一种取消任务的简便方法,它将控制切换到操作环境内核。
只要此环境中的所有程应用序都有机会响应待处理事件,程序就又恢复控制。
使用该函数的优点是:
不会使应用程序放弃焦点,且应用后台事件能够得到有效处理。
2.具体实现过程
编程实现时,需要机器安装有VB应用程序及MicrosoftOffice组件。
⑴新建VB工程,并对其初始化
新建一个VB工程,取名Get_Password,将启动窗体命名为FrmMain。
首先选择“工程”菜单中的“引用”,在“引用”对话框中选择“MicrosoftExcel10.0ObjectLibrary”和“MicrosoftWord10.0ObjectLibrary”文档.
实用标准文案
(注意:
如果安装的是Office2000或Office97,应该选择Excel对象库和Word对象库的9.0版或8.0版)。
其次在“工程”菜单中“部件”对话框中,选择添加“MicrosoftWindowscommoncontrols-2.5(sp2)”和“MicrosoftCommonDialogcontrol6.0”,以便在窗体设计中使用微调控件和对话框控件。
⑵在FrmMain窗体上添加控件
在FrmMain窗体上,按照下图的位置添加表1中的控件,然后根据表1修改每个对象的属性。
表1:
序号控件名称控件属性及其属性值
1FrameName=Frame1,Caption=选择加密(*.DOC、*.XLS)文件2FrameName=Frame2,Caption=选定密码字符范围:
3FrameName=Frame3,Caption=选择密码的长度:
4ComboBowName=Combo1
5CommandButtonName=CmdBrowse,Caption=浏览
6CommandButtonName=CmdStartCrack,Caption=开始破解
7CommandButtonName=CmdQuit,Caption=退出系统
8CheckBoxName=ChkDigital,Caption=数字(10)
9CheckBoxName=ChkLowercase,Caption=小写字母(26)
10CheckBoxName=ChkUppercase,Caption=大写字母(26)
11CheckBoxName=ChkSpace,Caption=空格
(1)
12CheckBoxName=ChkBracket,Caption=括号(6)
13CheckBoxName=ChkOthers,Caption=其他OEM字符(26)
14TextBoxName=txtPasswordStartLong,Text=2
15TextBoxName=txtPasswordEndLong,Text=2
16TextBoxName=Text1
17UpDownName=UpDown1,BuddyProperty=Text,Wrap=TRUE,Increment=1
BuddyControl=txtPasswordStartLong,Max=15,Min=
18UpDownName=UpDown2,BuddyProperty=Text,Wrap=TRUE,Increment=1
BuddyControl=txtPasswordEndLong,Max=15,Min=1
19CommonDialogName=Dialog,DialogTitle=请选择加密的Excel或Word文档
Filter=Excel(*.xls),Word(*.doc)|*.xls;*.doc
20LabelName=Label1,Caption=破解进度:
21LabelName=Label3,Caption=从:
22LabelName=Label5,Caption=到:
⑶为以上对象编写下列代码
为了便于,程序中增加了适当的注释。
理解OptionExplicit
PrivateSubCmdBrowse_Click()
Dialog.ShowOpen'showthedialog
Combo1.Text=Dialog.FileName'settheFilenametextboxtotheselectedfile
Combo1.Refresh
EndSub
文档.
实用标准文案
PrivateSubCmdQuit_Click()
End
EndSub
PrivateSubCmdStartCrack_Click()
StaticblnProcessingAsBoolean
DimwdAsNewWord.Application,xlsAsNewExcel.Application
DimOpenReturn
Dimstrpath,pass,StrTemp,all_char(100)AsString
DimJ,K,Password_Start_Long,Password_End_Long,ArrayLenAsInteger
DimI,TempAsLong
ArrayLen=0'数组初始化
IfChkDigital.Value=1n
TheForJ=ArrayLenToArrayLen+9
all_char(J)=Chr(Asc(
NextJ
ArrayLen=ArrayLen+10
EndIf
IfChkLowercase.Value=1n
TheF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EXCEL 密码 破解 无需 任何 工具 插件 简单
![提示](https://static.bdocx.com/images/bang_tan.gif)