30天自制操作系统吧 关注:1,381贴子:4,720
  • 4回复贴,共1

磁盘镜像0x2616处随机写值的问题

只看楼主收藏回复

在学习这本书的03_day/harib00e的项目时,发现一个现象,每次重新磁盘镜像文件时,地址0x2616处的值是随机的,每次都发生变化.有没有遇到同样现象的朋友?一起研究下原因?猜想这个是作者估计做的一个标记/?


IP属地:辽宁1楼2024-03-05 11:08回复
    我的具体实验步骤为:
    首先将原始代码的03_day/harib00e子目录复制到tolset目录中,这个目录下有6个文件
    2004/04/01 00:07 7 !cons_9x.bat
    2004/04/01 00:09 7 !cons_nt.bat
    2005/03/05 22:41 25 haribote.nas
    2006/10/02 23:05 2,905 ipl.nas
    2004/04/01 10:07 46 make.bat
    2005/03/05 23:17 961 Makefile
    6 个文件 3,951 字节
    双击!cons_nt.bat,
    再出现的窗口中输入make
    得到一个haribote.img
    记录一下地址0x2616处的内容
    然后执行make src_only
    会删词删掉原来的img
    再重新执行make,并查看地址0x2616处的内容,会发现有变化


    IP属地:辽宁3楼2024-03-05 11:11
    回复
      可能是时间吧


      IP属地:浙江来自Android客户端4楼2024-03-05 23:29
      回复
        0x2600处为根目录区开头,偏移0x16个字节处为为文件修改时间。因此0x2616处的“随机值”实际上是第一个文件的修改时间。修改时间占两个字节,其中低5位保留,中间6位为分钟,高5位为小时。


        IP属地:北京5楼2024-03-29 19:55
        收起回复