不知道朋友们注意到没有,很多工程(不管是excel还是word中的)在你想查看其代码的时候,都会跳出一个要你输入密码的对话框。如图一:
如果你有密码、或愿意暴力猜密码则我不想多说,但如果你遇到像图二这样的对话框,就算你有密码、能暴力猜密码,你密码又往哪输呢?
那么,图二这种效果是如何产生的呢?
——有专门的工具可以做到这个效果!
但我今天要说的不是这个专门的工具,而是这个工具的原理。
其实这仅仅只是对DOC文档(XLS文档也一样,只是特征码略有出如。)动了一小点手脚,动这个手脚的办法很多,只要你找一个支持十六进制的编辑软件即可。推荐使用WinHex,或UltraEdit,网上到处都下得到,特别是WinHex用起来很无敌!!如果你实在不愿意去下载,也行,就用CMD或Command下的Edit命令吧,单就解决这个问题来说,DOS下的EDIT命令应该还更方便些(我常用EDIT命令来做)。
好了,开练:
1、找出那篇你不愿意别人看你原代码、且不愿意显示“请输入密码”对话框的文档。(也就是说,A、文档必须要有“宏”,有“工程”,B、工程必须已经加密。不满足A、B两个条件,则本方法会失败。)
2、假定我要修改的这篇文档在c:盘下,名为a.doc,注意a.doc中有宏,并且是已对工程进行了加密的。
3、在WinHex中打开a.doc,
4、执行查找,查找内容输入id,连找两次,找到id后全是000000……的地方;如图
5、将后面的0000……随便改为另外的其它十六进制字符(补课:十六进制字符只有0123456789abcdef共十六个),只要字符总个数不变(即全文本本身的大小不变)即可。 我改的是“C72D3E8D-76F0-11D9-B0A8-C5E664A29560”注意字符串左右的大括号,不要被掉了。如图。
6、保存,退出。
7、再打开word文档,打开VBE编辑器,单击你的工程,看看,效果怎么样?密码没地儿输入了吧?!!
请别问我特征码是如何找到的,这只能告诉你我试了一个下午,才找到!
用dos下的edit也一样,不过要小心,别破坏了它路径数据。 另外,我现在放假在家,用的是win98+office2K,其它平台只有等开学再试了。[UserCP=500][/UserCP]
[此贴子已经被守柔于2005-7-26 6:56:15编辑过] |