再谈WPS文件密码的破译

Author: 河北 杜在林 Date: 1994-08-26

        经WPS处理并加密的文件,是无法用TYPE等命令或其它工具软件察看的,原因是:WPS将文件内容与密码区的8个字节做循环异或,然后将所得的结果顺序文件存于文件中偏移量为0400H处。在文件存放时并不考虑是否加密以及密码的长度。当用WPS打开文件时,加密的文件由WPS进行上述过程,恢复了文件的内容。所以,如果单独修改密码或用00代替是不能达到解密的目的。
        另外,所有的有ASCII值的字母或符号都可做为密码,密码在存放时,不管小不小写,都转换成大写。主程序将每个密码的ASCII先按位取反,再将高4位调换位置,然后存放于文件头偏移量03DD处(DEBUG方法),按顺序存放。根据这种方法,可以将所有的密码破译。方法如下:
        DEBUG 文件名
        -D 03DD回车
        出现的前8个字节,即为处理后的密码,将每个密码(两个字节为一个密码)按上述过程处理,即得到真值。例:密码为EB。
        ①转换为二进制:11101011
        ②按位取反:00010100
        ③高4位和低4位互换:01000001
        ④转换为十六进制:41
        ⑤查ASCII码表:A
        功能键及方向键都产生密码为FF,破译时可以用任意键代替。
        想要解除密码,可用^OP命令,进入加密菜单,回答旧密码后,回答新密码时只打回车,然后存盘,则取消了密码。  (河北  杜在林)