文档库 最新最全的文档下载
当前位置:文档库 › excel宏密码破解方法 (2)

excel宏密码破解方法 (2)

一、Excel“工程不可查看”两种实现方法及破解关于Excel宏编程中,要用到一些技巧,如破解Excel宏加密。

二、今天我对一个E x c e l宏编程中进行日期限制进行了破解。

三、方法一(共用级锁定)

四、1、先对e x c e l档进行一般的v b a p r o j e c t”工程密码保护。

五、2、打开要保护的档,选择∶工具--->保护--->保护并共用活页簿--->以追踪修订方式共用-->输入密码-->保存档。完成後,当你打开“v b a p r o j e c t”工程属性时,就将会提示∶“工程不可看!”

六、方法二(推荐,破坏型锁定)

七、用16进制编辑工具,如winhex、ultraedit-32(可到此下载)等,再历害点的人完全可以用debug命令来做......用以上软体打开e x c e l档,查找定位以下地方∶注∶实际显示不会全部为0

八、此时,你只要将其中的位元组随便修改一下即可。保存再打开,就会发现大功告成!

九、当然,在修改前最好做好你的文档备份。至於恢复只要将改动过的地方还原即可(只要你记住了呵呵)。

十、破解方面,有网友说将CMG=,DPB=和GC=后的"="替换为"."也可以的,我已测试过的确可以,这样更省事点。用16进制编辑工具,如winhex、ultraedit-32打开X.xls文件,查找ID=......,或到文件尾查看,找到即可。改其中的任意一位,存盘就可达到目的,注意:留有备份文件

十一、

十二、二、E X C E L宏保护密码破解-V B A工程密码破解十三、在办公中我们常看到许多用宏(VBA)编写的EXCEL表格,而这些表格就如同一个数据库,我们可以选取或查询很多的数据,一般的这些数据是存放在一个隐藏的工作表中的,那么要如何显示这个隐藏的工作表呢?我们可以打开宏编辑器(ALT+F11),再安CTRL+R打开专案,这时弹出窗会有所有的这个EXCEL的工用表,这时你就可以看看那些是被隐藏的了,很多时候打开是需要密码的,用以下方法解密后,再将解密后文件打开,依同样方法在工作表标签中右键>>检视程式码>>复制以下代码>>按F8执行

十四、P r i v a t e S u b C o m m a n d B u t t o n1_C l i c k() 十五、W o r k s h e e t s("这里为你要显示的工作表名称").V i s i b l e=T r u e 十六、E n d S u b 十七、关于破解EXCELVBA工程密码的方法,以下代码非常有效,首先建一新EXCEL文件,在工作表标签处右点>>检视程式码>>复制以下代码>>按F8执行在弹出窗中选你要你破解工程密码的E X C E L文件>>再按F5执行即可. 十八、P r i v a t e S u b V B A P a s s w o r d() 十九、'你要解保护的E x c e l文件路径二十、Filename=Application.GetOpenFilename("Excel文件(*.xls&*.xla&*.xlt),*.xls;*.xla;*.xlt",,"VBA破解") 二十一、I f D i r(F i l e n a m e)=""T h e n 二十二、M s g B o x"没找到相关文件,清重新设置。" 二十三、E x i t S u b 二十四、E l s e 二十五、F i l e C o p y F i l e n a m e,F i l e n a m e&".b a k"'备份文件。二十六、E n d I f 二十七、D i m G e t D a t a A s S t r i n g* 5 二十八、O p e n F i l e n a m e F o r B i n a r y A s# 1 二十九、D i m C M G s A s L o n g 三十、D i m D P B o A s L o n g 三十一、F o r i=1T o L O F(1)

三十二、G e t#1,i,G e t D a t a 三十三、I f G e t D a t a="C M G="""T h e n C M G s=i 三十四、I f G e t D a t a="[H o s t"T h e n D P B o=i-2:E x i t F o r 三十五、N e x t 三十六、I f C M G s=0T h e n 三十七、M s g B o x"请先对V B A编码设置一个保护密码...",32,"提示" 三十八、E x i t S u b 三十九、E n d I f 四十、I f P r o t e c t=F a l s e T h e n 四十一、D i m S t A s S t r i n g* 2 四十二、D i m s20A s S t r i n g* 1 四十三、'取得一个0D0A十六进制字串四十四、G e t#1,C M G s-2,S t 四十五、'取得一个20十六制字串四十六、G e t#1,D P B o+16,s20 四十七、'替换加密部份机码四十八、F o r i=C M G s T o D P B o S t e p 2 四十九、P u t#1,i,S t 五十、N e x t

五十一、'加入不配对符号五十二、I f(D P B o-C M G s)M o d2<>0T h e n 五十三、P u t#1,D P B o+1,s20 五十四、E n d I f 五十五、M s g B o x"文件解密成功......",32,"提示" 五十六、E n d I f 五十七、C l o s e# 1 五十八、E n d S u b

五十九、

六十、如果上面代码不能运行或出错,请用以下代码重试.

六十一、

六十二、P r i v a t e S u b V B A P a s s w o r d() 六十三、'你要解保护的E x c e l文件路径六十四、Filename=Application.GetOpenFilename("Excel文件(*.xls&*.xla&*.xlt),*.xls;*.xla;*.xlt",,"VBA破解") 六十五、I f D i r(F i l e n a m e)=""T h e n 六十六、M s g B o x"没找到相关文件,清重新设置。" 六十七、E x i t S u b 六十八、E l s e 六十九、F i l e C o p y F i l e n a m e,F i l e n a m e&".b a k"'备份文件。

七十、E n d I f 七十一、D i m G e t D a t a A s S t r i n g* 5 七十二、O p e n F i l e n a m e F o r B i n a r y A s# 1 七十三、D i m C M G s A s L o n g 七十四、D i m D P B o A s L o n g 七十五、F o r i=1T o L O F(1) 七十六、G e t#1,i,G e t D a t a 七十七、I f G e t D a t a="C M G="""T h e n C M G s=i 七十八、I f G e t D a t a="[H o s t"T h e n D P B o=i-2:E x i t F o r 七十九、N e x t 八十、I f C M G s=0T h e n 八十一、M s g B o x"请先对V B A编码设置一个保护密码...",32,"提示" 八十二、E x i t S u b 八十三、E n d I f

八十四、

八十五、D i m S t A s S t r i n g* 2 八十六、D i m s20A s S t r i n g* 1 八十七、'取得一个0D0A十六进制字串八十八、G e t#1,C M G s-2,S t

八十九、'取得一个20十六制字串九十、G e t#1,D P B o+16,s20 九十一、'替换加密部份机码九十二、F o r i=C M G s T o D P B o S t e p 2 九十三、P u t#1,i,S t 九十四、N e x t 九十五、'加入不配对符号九十六、I f(D P B o-C M G s)M o d2<>0T h e n 九十七、P u t#1,D P B o+1,s20 九十八、E n d I f 九十九、M s g B o x"文件解密成功......",32,"提示"

百、C l o s e# 1 百一、E n d S u b 第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“编辑”,打开“MicrosoftVisualBasic”编辑器,用如下内容替换右侧窗口中的所有代码:SubPasswordBreaker()

DimiAsInteger,jAsInteger,kAsInteger

DimlAsInteger,mAsInteger,nAsInteger

Dimi1AsInteger,i2AsInteger,i3AsInteger

Dimi4AsInteger,i5AsInteger,i6AsInteger OnErrorResumeNext

Fori=65To66:Forj=65To66:Fork=65To66

Forl=65To66:Form=65To66:Fori1=65To66

Fori2=65To66:Fori3=65To66:Fori4=65To66 Fori5=65To66:Fori6=65To66:Forn=32To126 ActiveSheet.UnprotectChr(i)&Chr(j)&Chr(k)&_ Chr(l)&Chr(m)&Chr(i1)&Chr(i2)&Chr(i3)&_

Chr(i4)&Chr(i5)&Chr(i6)&Chr(n) IfActiveSheet.ProtectContents=FalseThen MsgBox"Oneusablepasswordis"&Chr(i)&Chr(j)&_ Chr(k)&Chr(l)&Chr(m)&Chr(i1)&Chr(i2)&_

Chr(i3)&Chr(i4)&Chr(i5)&Chr(i6)&Chr(n) ActiveWorkbook.Sheets(1).Select

Range("a1").FormulaR1C1=Chr(i)&Chr(j)&_ Chr(k)&Chr(l)&Chr(m)&Chr(i1)&Chr(i2)&_

Chr(i3)&Chr(i4)&Chr(i5)&Chr(i6)&Chr(n) ExitSub

EndIf

Next:Next:Next:Next:Next:Next Next:Next:Next:Next:Next:Next EndSub

相关文档
相关文档 最新文档