对硬盘分区表的编程?难度比较大点的(300分)

  • 主题发起人 主题发起人 waderlym
  • 开始时间 开始时间
W

waderlym

Unregistered / Unconfirmed
GUEST, unregistred user!
由于分布系统的需要,我需要在硬盘格式化后 对硬盘的相关分区表进行读写操作,目的在于不能直接打开相关的分区数据,只能有主程序读写。问题就是:
1.用什么工具开发可以读写分区表的程序,如何读写,主程序要访问被屏蔽的分区时候重新建立分区表,或者用其他的方式给主程序数据。
2。如何保证分区表不被轻易的破接掉。还有种方法,不能让用户查找分区表就轻易的修改或者是复原分区表。
给出资料或者思路或者方法都可以,最好有相关的参考程序和编程模式。
 
比如:新硬盘格式化分区后,C,D,E,F盘,我把保密数据添在D盘,然后对分区表进行修改,当然修改前需要对其备份一个放在安全的地方,还要是系统找不到的地方~~不知道放哪?。当主程序需要读取数据的时候,需要有个分区还原的机制,但是操作完后又将分区表更改给原来修改过的。实质上就是D对系统屏蔽了,只有主程序读写D盘的时候才打开屏蔽。
希望能明白我的意思,希望能给出点参考。谢谢!
 
我明白你的意思,支持你,让高手来看看。我也想知道!
其实有一种技术可以实再
vnd技术!
不过,没有人轻会放出源码的.
 
这样吧 我把问题缩小点:
1。用C语言编写可以修改保存硬盘分区表的程序。
2。提供C相关函数或者是文档
3。如何实现分区表还原机制,备份的分区表放那最安全。可以不对单个分区,把整个分区表打乱也可以。
 
用biosdisk函数即可
char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer)
先用bisodisk(2,ox80,0,0,1,1,buffer)将C盘0磁头0磁道第一扇区读入buffer,
再将buffer写入指定文件。
恢复时先将该文件读如buffer,
再用bisodisk(3,ox80,0,0,1,1,buffer)写入C盘0磁头0磁道第一扇区。
注意点,读写该文件必须用二进制方式,
具体的再谈论吧
 
主要是在windows下对硬盘主分区表读写很难啊,不知道通过什么途径,当然如果可以用delphi编程也可以的,主要是怎么做才能操作,各位大大谢谢了?
 
底层技术顶呀
 
顶.............
 
读写分区表倒是不难,怎么隐藏就不知道了。
用createfile就可以,writefile,readfile,
这个问题我也感兴趣,也问过,但是只是做到读分区表,没敢写,也没时间。
我的问题里就有。这些是资料。
http://www.witcat.com/main/club/read.php?tid=32
http://www.pc120.net.cn/library/hard/hardware/hd072.htm
//===
看看能用不。。
 
没有做过这方面的研究,帮你顶一下,让高手解答。
 
多人接受答案了。
 
后退
顶部