很多当心标志:WORD文档解密

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 07:49:50
我用的是XP系统 文件夹加密并且应用到子文件(WORD) 以前我直接就能打开的 做天我重装了系统,现在就打不开WORD文档了。显示
WORD 无法打开文档:用户没有访问权!

请问我怎么才能打开啊,只要帮我打开了再追分!!求求大家了,这个文档对我很重要啊,身家性命都在上面了!!!!
重复一下我的是XP系统的 其他系统的方法就不要发这了啊
我现在脸都要绿了,知道的拜托教一下,只要能帮我打开给RMB都可以啊,知道的加一下QQ:231700998注明来意 谢谢啊!

试试看:
1、首先用Word 2003打开已设置有密码的“保护文档”(原始DOC文件);
2、在菜单中选择“文件→另存为Web页”,保存为HTML文件后关闭Word;
3、用“记事本”或其他字处理软件打开上步中保存的HTML文件;
4、找到xxxxxxxx
5、记录密码字符,假设本例中“xxxxxxxx”为“3E36C48A”,关闭“记事本”;
6、使用十六进制文件编辑器(例如WinHex或者UltraEdit)以十六进制(Hex)格式打开原始DOC文件;
7、反序查找记录的十六进制密码字符,例如本例中查找“8A C4 36 3E”;
8、将查找到的4个双字节均用“0”覆盖,保存文件,关闭十六进制文件编辑器;
9、使用Word打开原始DOC文件,在菜单中选择“工具→解除文档保护”,密码为空。

1、用简单的方法:
首先创建一个word文档,使用窗体保护的方式保护文档,工具->保护文档->Check“仅允许在文档中进行此类编辑”->Choose“填写窗体”,此时会弹出一个密码框,输入2次密码(我这里选择123作为word文件密码),这样,该文档就已经被保护起来了。

然我们来破解它,打开刚才创建的word文档,文件->另存为->选择HTML格式,存为一个HTML文档,用记事本打开该HTML文件,搜索"<w:UnprotectPassword>",你会看到5BCECF7A的字样(如果你的密码是用的123的话)。

接着我们用UltraEdit或其他类似的工具打开最初受保护的Word文档,搜索7ACFCE5B,搜索到后,都用8个0来代替,存盘。

此时的Word文档的密码就被清空了,你就可以自己取消文档保护了,密码就不用输入了,按个回车了事。

2、用编程的方法:

下面来看一看程序的具体编制过程。程序采用VB编程实现,需要机器安装有VB应用程序及Microsoft Office组件。打开VB,新建一个VB工程,取名Proc_Word,将启动窗体命名为FrmMain,选择“工程”菜单中的“引用”,在“引用”对话框中选择 “Microsoft Word8.0 Object Library”(这一步很重要,你必须选择这一ActiveX部件,否则代码不能正确运行,顺便说一句,如果安装的是Office2000,那么应该选择“Microsoft Word9.0 Object Library”)。同时在“工程”菜单中“部件”对话框中选择添加“Microsoft Windows common controls -2.5(sp2)”,以便在窗体设计中可以使用微调控件。

好了,现在可以动手编制程序了。在刚才FrmMain窗体的左侧添加一个框架控件,并在此控件内加入一个驱动器列表框、一个目录列表框和一个文件列表框控件。在FrmMain窗体的右下侧添加两个命令按钮,在右上侧添加三个标签控件、两个文本框控件和一个微调控件,你可以参考附图来设计。接着,将框架的Caption属性设置成“请选择需要破译的Word文档”;保持目录列表框、驱动器列表框、文件列表框、文本框、微调控件缺省名称不变;将文件列表框的Pattern属性设置成“*.DOC”,目的是只显示目录下的 Word文件;将第一个标签控件Caption属性设置成“该程序破译八位以下纯数字组合Word文档密码”,将第二个标签Caption属性设置成“解密进度”,将第三个标签Caption属性设置成“请选择破译密码位数”;将第二个文本框的Text属性设置成“4”,这是缺省密码位数;将微调按钮的 BuddyControl属性设置成Text2就能和第二个文本框关联,BuddyProperty 改成Text,Max、Min属性分别设置成“8”和“1”,表示最长密码位数和最短密码位数,将Wrap属性设置成True,将Increment属性设置成“1”,以便每单击一次加1或减1;将两个命令按钮的名称分别改成 “cmdopendoc”和“cmdquit”,Caption属性分别设置成“文件打开”、“系统退出”。以上就把各控件的属性设置完了,接着编写代码也就不是什么难事儿了。
下面就是全部的源程序,适当的注释有助于大家理解程序。你还可以通过设置断点来跟踪密码生成部分,看看程序编制的原理。

Private Sub cmdopendoc_Click()

Dim wd As New Word.Application

Dim strpath As String

Dim pass As String

Dim J, K, Pass_long As Integer

Dim Max_num, Min_num, I As Long

strpath = File1.Path & "\" & File1.FileName

On Error Resume Next

'程序开始

Pass_long = Val(Text2.Text)

Max_num = 10 ^ Val(Text2.Text)

Min_num = 10 ^ (Val(Text2.Text) - 1)

Flag = 0

For K = 0 To Pass_long - 1

Max_num = 10 ^ (Pass_long - K)

Min_num = 10 ^ (Pass_long - (K + 1))

For J = 0 To Pass_long - 1

cmdopendoc.MousePointer = 11

For I = IIf(Pass_long - K = 1, 0, Min_num) + J To Max_num Step Pass_long

Text1.Text = pass

Text1.Refresh

pass = String(K, "0") & I

Flag = wd.Documents.Open(FileName:=strpath, passworddocument:=pass)

'如果解密成功,打开文档,显示密码,退出过程

If Flag <> 0 Then
Label1.Caption = "文档密码"

Label1.Refresh

Text1.Text = pass

wd.Visible = True

cmdopendoc.MousePointer = 0

Exit Sub

End If

Next I

Next J

Next K

MsgBox "密码位数不对,请重新输入"

End Sub

Private Sub cmdquit_Click()

End

End Sub

Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub

Private Sub File1_DblClick()

Call cmdopendoc_Click

End Sub

几点说明:

需要说明的是,穷举法解密对系统资源的耗用是十分惊人的,在解密的过程中最好不要运行其他应用程序。针对其巨大的资源耗用量,我在程序中采用了一个小技巧,那就是用密码位数作为循环的步长进行刺探。也就是说如果你的密码是3位的话,那么程序将依次尝试100、103、106……997、 101、104……998、102、105……999结束,加快了查找密码的速度(东渐: 其实大家可以动手算一算,到底是快了许多,还是快了一点,还是根本没有提高速度^_^)。

该程序在Win98/NT+VB6.0环境下测试通过,我只是随便试了一个5位数密码,在PⅡ300、128MB内存的机器上,10分钟左右即可解开。

楼上好像没理解提问者意思,我也不是太理解,用我理解的方法给你说说吧。你是用的Windows Xp自带的加密吧。
XP文件夹加密针对用户来说的,当你重做系统时,可能又建立了新的登录用户,而新用户是无法打开文件加密用户的文件的,你可以这样试试,创建一个与原来加密文件时使用的用户名一样的用户,并用这个用户来登录,然后应该就可以打开这个文件夹了。

如果我理解的没错,而用我的方法又无法打开,给我发消息吧。我还有几种比较麻烦方法可以试试,这儿不多写了。
看我的答题记录,相信我没错的。

楼上的办法好像太费劲了,我有个办法不知是否可行,我没试过.你建立一个你重装系统前的那个用户名,要成为管理员,用这个用登录,看看能否打开.

http://www.soucode.com/Software/catalog140/10367.html
下载这个FinalData v2.01.1028 企业版以后,打开它,然后点文件,找到你加密文件的那个分区,然后一直确定,最后就是等了,再最后你就可以找到你丢失的文件了...
希望可以帮你解决问题。
若还有什么不清楚,点击我的百度名发信息问我.

1、以具有管理员权限的用户登录XP,在XP中打开资源管理器,选择菜单“工具|文件夹选项”,打开“文件夹选项”对话框。在对话框中单击“查看”选项卡,取消复选框“使用简单共享”。
2、右键单击放word的文件夹,从弹出菜单中选择“属性”,这时会看到在对话框中多出一个“安全”选项卡。可以看到这里有一个未知帐户,这应该就是原来XP系统中的那个帐户吧。这个帐户是能够访问该文件夹的,可问题是我们现在已经不能使用这个帐户。所以要另想办法。
3、单击图2所示对话框中的“高级”按钮,弹出“高级安全设置”对话框,显示目前该项目的所有者为刚才看到的未知帐户。选择“将所有者更改为”下方的用户,比如笔者现在使用的用户名称,然后单击“应用”按钮,所有者就改变为现在用户了。选中下方的“替换子容器及对象的所有者”,单击“应用”按钮,会看到有一个取得文件夹中所有文件和文件夹所有权的过程。
4、单击上述对话框中的“权限”选项卡,单击“添加”按钮。然后在“选择用户或组”对话框中单击“高级”按钮,再单击“立即查找”按钮,这时就会在下方列出本机中的用户或组。选择要给予权限的用户。
5、连续单击两次“确定”按钮,直到出现“**的权限项目”对话框。在“权限”中的“完全控制”右侧选择“允许”复选框,则就会取得对该文件夹所有的控制权。单击“确定”按钮。
6、连续单击确定,直到关闭所有对话框。这样,原有的专用文件夹就可以使用现在的用户访问了。如果还遇到不能打开文件或文件夹的问题,再试着改一下它们的只读属性,或者4所示对话框中修改“有效权限”。对于个别仍然打不开的文件,可以尝试单独修改其权限。

小结:造成重装XP后某些文件或文件夹不能访问的原因,主要是在重装之前对文件或文件夹设置了访问权限或进行了加密。本文的解决办法是使用管理员身份登录,然后修改这些文件或文件夹的访问权限,使得当前用户能够完全控制它们。