实验结论:
文件目录项中,
第25、26位表示日期:共16位,从高到低,7位表示年到80的偏移,4位表示月,5位表示日;
第23、24位表示时间:共16位,从高到低,5位表示小时到12:00a的偏移,6位表示分钟数,5位未探索(实验中该5位无作用)。
举个例子,
这里如果要把MUSIC目录的修改时间变为 1996年4月17日下午8:00 的话:
年数偏移为16,月数位4,日期为17。
对应(年)001 0000,(月)0100,(日)1 0001。即0010000010010001=2091H。因小端序:第25位为91,第26位为20。
小时偏移为20,分钟数为0
对应(时)1010 0,(分钟)000 000,(无用,该5位我将随意填充以体现实验结论)1 0110。即1010 0000 0001 0110=A016H。因小端序:第23位为16,第24位为A0。
修改对应文件目录项:
在VM中查看:
看到MUSIC目录得到预期改变。
/***************************************题外话**************************************************************************************/
没有找到直接的定义真的头大!自己换位思考猜着算我去 = =,从早上就搞研究到现在了,不想看书了,我要打游戏去了!c
应该是我对DOS理解不够深入,但是要做病毒原理课的实验...还没继续学习就开始做这些了..
还有一些小的心得体会:
该DOS环境下,文件目录项的时间项并不是用时间戳来表示;
两个文件目录项指向同一扇区是OK的(快捷方式的起源?);
文件目录项指向未分配簇的扇区也是OK的,但无法访问;
但是在指向未分配簇的文件目录中操作会GG;