98中如何用delphi隐藏一个目录(90分)

目录能否,我也很想知道。
 
思路<br>&nbsp; &nbsp;目录,文件都有一个标识 &nbsp;如0000 0011是 隐藏目录或文件 <br>&nbsp; &nbsp;如果改成 0000 0111 就可以令win 的浏览器 及dir/a 无法看到<br>&nbsp; &nbsp;也就无法利用绝对路径访问(除非用hook的到绝对路径)<br>要求<br>&nbsp; 1 程序做到以上步骤 利用目录绝对路径修改目录标识 隐藏目录<br>&nbsp; 2 程序利用目录绝对路径访问被隐藏的目录<br>分数 <br>&nbsp; 谁做到另加110分<br>
 
谁做到另加110分
 
guying,你的思路可能有问题,<br>&nbsp; 1.文件分配表中,目录和文件的隐藏标志在资源管理器中型同虚设,DOS中也是一样。<br>&nbsp; 2.如果不用隐藏标志,只能用删除标志(这下不论是在资源管理期或DOS下都看不见了),<br>不过,显然不行,文件内容可能会被覆盖,若进行过磁盘整理,那十有八九文件指向(你所谓<br>的绝对路径)是错误的。<br>&nbsp; 下面的建议可以参考一下,不过不要打我!<br>&nbsp; 1.用钩子钩,然后判断 ---〉执行隐藏或不隐藏 (详细的我不会)<br>&nbsp; 2.用C来写vxd (详细的我也不会,但看到过这样的程序,你要的话我可以找找,应该还在)<br>&nbsp; 3.用一种好像叫“嵌入式文件系统”的方法,在某个Delphi论坛里看见过,大概意思好像是<br>如何在资源管理其中添加自己定义的文件系统,就像虚拟光驱、MagicZip等软件那样,除了可<br>以隐藏,还可以加密、压缩等等等等,甚至可以为每个文件、目录设置权限。(不过这样的东<br>东我是写不出来了,太复杂,没想过要写)
 
俺另开了个200分的<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=522143
 
to x.45<br>首先感谢你的建议。<br>&nbsp;但文件分配表中的问题不敢苟同<br>你可以看一下以前的问题(如何加密多媒体光盘)<br>至于第3条我会考虑<br>谢谢!<br>请大家继续讨论,提供思路也可以,我看这个问题<br>很多人想知道。
 
补充一下,我不是要一个程序,而是要一个解决问题的方案-----用delphi
 
这是我第二次发表贴子,哈哈:<br><br>1、看看Visual C++中Component Gallery,它不是目录,但操作起来像一个目录,还有如<br>控制面板等,这些可以用外壳扩展的实现方法实现,当然,既然是外壳扩展就只能用于资<br>源管理器中了,在命令提示符中不起作用。<br><br>2、使用结构化存储模拟文件系统可能很容易实现类似目录的操作,当然,前提是对COM比<br>较熟。<br><br>3、用VXD可以实现,但比较麻烦,具体的还要看你的实际需要了,如果,只要求在资源管<br>理器中隐藏目录的化,我建议使用外壳扩展加结构化存储来实现。<br>
 
请大家继续讨论
 
&nbsp; &nbsp;guying同学,关于你所说的“如何加密多媒体光盘”是不是本论坛的 http://www.delphibbs.com/delphibbs/dispq.asp?lid=342948 ?<br>如果是的话,那么告诉你,那是在光盘上实现,光盘的“文件分配表”与硬盘及软盘所说的文件分配表<br>有本质的区别。<br><br>&nbsp; &nbsp; 如果你要求不仅能在Windows下能隐藏,又能在DOS下隐藏的话,我还有一个思路:<br>1.写个程序,在硬盘上分个区,并设置成隐藏;<br>2.写一个读取程序,修改该分区的隐藏属性后再读写数据,最后将隐藏属性改为 True。<br>(如果够狠的话,干脆将分区写成NTFS格式,加上权限,写个程序读取数据。这样的程序我见过,不过没有<br>隐藏文件的功能) &nbsp; 〈========= 后来想起加的<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =======================〉上面的未经试验,不只可不可行<br><br>&nbsp; &nbsp; 实在不行,只要不怕别人删除,干脆将数据以流的形式写入一个DAT文件,再写一个程序来读就行了,<br>当然还可以对文件进行加密,读取程序要判断运行环境,以防被拷贝到其他机器上运行。DOS下程序不能运<br>行,自然也就隐藏了 &nbsp; :〉
 
to x.45<br>为什么你说 ‘光盘的“文件分配表”与硬盘及软盘所说的文件分配表<br>有本质的区别。’<br>有相关的资料吗?<br>我如何同你联系?<br>我想为着个问题寻求一个最佳及最简的方案<br>因为很多人相知到<br>
 
&nbsp; &nbsp;其实我对光盘的存储方式并不了解,但我知道:光盘的数据是按螺旋形安排到盘面上的,<br>就向老式的唱片一样,它的“文件分配表”是按长度将数据的物理位置标识出来,其实那也不叫<br>“文件分配表”只是光盘开头的一个文件而已;而硬盘的数据是按同心圆的形状被安排到盘面的,<br>这叫磁道,然后在磁道上划分扇区,它的文件分配表将数据的物理位置按磁头、磁道、扇区等标<br>识出来,如: xx磁头,xx磁道,xx扇区等等。这些知识在一些较老的 DOS 的书籍上有所介绍。<br><br>&nbsp; &nbsp; 如果要完美地解决这个问题应该从底层做起,一些引导型病毒的编写方法是可以借鉴的。先<br>将原文件分配表加密保存到一个地方,修改文件分配表,隐藏某些扇区并存放数据。在需要时还<br>原原文件分配表。<br><br>用这个地址可以和我联系:unilik@163.com<br>其实在论坛交流是很好的,可以得到很多不同的见解 :)
 
我也想做类似这样的程序,不过也不得要领。<br>我曾见过一个加密文件(不是目录)的共享程序,不过做得特别差,<br>并且不能将功能做到DOS与Windows的资源管理器上去。<br>我认为:(也不要在后面踢我!)<br>一、通过Hook的方式实现此功能只能在Windows下有效,在DOS 下就无效了!<br>二、Vxd实现此功能,我不知。<br><br>我有一个比较好的办法: 叫Bill将此功能做到Windows2002中去。
 
to 舟:<br>&nbsp; &nbsp; 用 Vxd 实现该功能有几点不好:<br><br>&nbsp; &nbsp; 1.不能在 NT 和 Win2000 下使用<br>&nbsp; &nbsp; 2.不能在 DOS 下使用<br>&nbsp; &nbsp; 3.好像使用特殊方法仍然可以 Kill 掉该进程<br><br>&nbsp; &nbsp; Bill 是什么?能指点以下吗?不过既然是在 Win 2000 下,还不如直接<br>使用 NTFS 的目录权限管理实现(当然我们这里不用讨论 NT 的安全性问题)
 
哈哈哈<br>X.45你真糊涂,<br>Bill就是曾经世界首富啊!<br><br>我的意思是说,将加密目录的功能做到Windows系统中去。(不过在DOS下就没办法了!)<br>哎!<br>总而言之,比较难解决!<br>
 
能否深入到磁盘的目录磁道<br>可惜我没有这方面的资料。<br>你们有吗?
 
我之所以不愿用vxd正如x.45兄所言<br>vxd不是趋势
 
朋友们,我已发现了一个软件声称可以作到<br>敏思硬盘卫士 2.1 1381KB<br>华军软件下载 sq.onlinedown.net<br>还没试<br>
 
要加密,得用Hook,而且不是很难,你可以看看《D4 开发大全》,上面有HOOK的详细介绍
 
to Cappuccino<br>我担心用hook会影响速度<br>《D4 开发大全》有电子版的吗?<br>在那下载?<br>
 
顶部