如何为压缩文件解密

Author: 曹国钧 Date: 1998年 第36期 34版

#1  重庆读者朱晶进问:我用ARJ 2.55b压缩了一些重要文件,并设了密码,密码记在一个笔记本上,现在要用这些文件,可那笔记本不翼而飞了,密码丢失! 希望快速地解开此密码。
  答:俄罗斯人ANOTOLY SKOBLOV用Borland C++编写了一个用于解除ARJ密码的工具软件ARJPASS,利用该工具软件可以解开你的密码。 ARJPASS可以用两种方法获取ARJ压缩软件的口令字,虽然使用方法比较奇特,但可以解决问题。
  第一种方法:使用程序SOLVEPWD.COM,可以立即获取口令字,但是必须具有压缩包中一个文件供对比之用, 这个文件必须是用ARJ以不加密方式压缩的。获取口令字的命令行语法为:
  SOLVEPWD  不加密压缩包  加密压缩包
  例如,你把\CGJ子目录中所有文件制作成一个加密压缩包CGJ.ARJ,但是忘记了口令字,而压缩在CGJ.ARJ中的LHA.EXE手头还有,就可再用ARJ将LHA.EXE另制成只有一个文件的压缩包LHA.ARJ,不加口令字,然后执行下面的命令:
  SOLVEPWD LHA.ARJ CGJ.ARJ
  屏幕上马上显示出CGJ.ARJ的口令字。
  如果加密压缩包中的文件你一个也没有,就只有改用BRKARJ.EXE程序了。使用这个程序时,数据文件PASSWORD.DAT必须在同一个子目录中,其命令行语法为:
   BRKARJ 加密软件包
  在该程序执行时,程序以“穷尽法”测试并显示所有可能的口令字,当找到正确的口令字时, 即显示在屏幕上并结束操作。ARJ允许的口令字长度是1~8个字符,每个字符又可以是91个不同字符之一,它们分别是: 10个数字、52个大小写字母、29个其他字符,最后一个字符是“/”。这些字符依上述排列放在PASSWORD.DAT中,供BRKARJ解密时使用。假定压缩包使用的是8个字符的口令字,第一个和最后一个字符都是“/”,那么差不多真的需要穷尽所有的可能性,才能找到口令字了,所需的时间是无法想象的,因此,使用该方法查找口令字时,一看时间稍长,最好放弃了事。不过,在大多数情况下可以在短时间内找到口令字的。