现在的位置: 首页 > 综合 > 正文

光盘目录隐藏原理及破解方法

2013年09月09日 ⁄ 综合 ⁄ 共 1523字 ⁄ 字号 评论关闭

此处的隐藏,并不是只指一般属性为H的目录,用该方式修改后的目录,不仅在Windows下面看不到,就是在DOS下用dir/a也看不到,虽然你看不到,但它却是存在于光盘上的,你可以用cd(目录名)进入此目录进行操作。

用这种方式烧录出的光盘保密性绝对一流,试想谁会知道这张光盘还会有一个目录,就算有人知道光盘上有隐藏目录,但他却缺少了最重要的一把钥匙,他不知道目录名。

根据ISO9660 Directory Record(ISO 9660 记载规定)每一个目录,文件都有一定的格式规定,记录,内容如下:

 

Bytes 记载规定
  01 Length of directory Record
  02 Extended Attribute Record Length
  03~10 Location of Extent
  11~18 Date Length
  19~25 Recording Date and Time
  26 File Flags

  27 File Unit Size
  28 Interleave Gap Size
  29~32 Volume Sequence Number
  33 Length of File Identifier
  ……
  由上表可以看出:

  第11~18个Bytes记载文件的长度
  第19~25个Bytes记载文件夹的建立的日期和时间
  第26个Bytes记载文件夹的属性
  第33个Bytes记载文件夹名称的字符长度

  “隐藏目录”的原理就是依照上表记载的第26个Bytes位置,而进行修改ISO文件,让刻出来的光盘产生看不到但可执行的文件或目录的特异功能。

  想要刻出这样的光盘只需要两个软件,其中一个当然是必不可少的刻录软件,另一个就是可编辑二进制代码的ASCII字符编辑器,这里我使用的是Ultra edit32而且操作起来很方便,首先是要做一个Image(就是制作一个cd映象),注意制作映象时文件系统必须是ISO9660。(如果使用JOLIET格式,在DOS或Windows3.1都有效,但在Windows95却原形毕露。因此请将Joliet文件格式改为ISO 9660格式。)

  接下来任务就由Ultra edit32来出场了,用Ultra edit32打开刚才制作的映象文件,点击search菜单下的Find,弹出一个对话框,在Find what中填入你想要隐藏的文件夹(在此我是想要隐藏down这个目录),并在Find ASCII前打勾,现在就可以查找了,记住查找到第一个后再连按两下F3才是要修改的地方(第三个记载目录名的扇区),在前面的“ISO 9660位置记载”表中,Bytes位置到底改如何得知呢?第一个Bytes又是从何时开始的呢?如果你是从第一个Bytes开始查找是有点麻烦,但如果你能从后面倒数,呵呵那可简单多了,从表中得知第33个Bytes记载文件夹名称的字符长度,而你用Ultra edit32查找到的就是第33个Bytes,就像down目录名就是代码44 4F 57 4E,请以44算起,倒数第8个字符串(两个数字算一个),就是第26个Bytes,把原来的02改成04 05 06 07中的任一字节
,然后存盘退出。

  
  附:为什么可以修改成04 05 06 07 中的任意字节?

  因为如果我们把倒数第8个字节02换算成八进制为00000010,最后一个数字是bit0 ,倒数第二位是bit1,根据规定当
  bit0= 1表示文件属于隐藏bit1=1 表示是目录
  bit0= 0表示文件属于正常bit1= 0 表示是文件

  现在大家就好理解这样修改的理由了吧。

 

如果只是存放数据的目录那就没有办法。

如果是光盘内的程序读取隐藏目录的内容,那么使用procmon
工具就可以跟踪到隐藏目录的访问。

 

抱歉!评论已关闭.