[ros-dev] About ReactOS hive files and end_pages in header being possibly wrong
Aleksey Bragin
aleksey at reactos.org
Tue May 31 13:00:30 UTC 2011
Hi,
thanks a lot for your comment, I'm quite interested in it!
Certainly, since ReactOS's hive file format [should be] is the same
as NT one, we need to fix ReactOS. It would be very very helpful if
you could find other differences.
In the meanwhile, I will try to see that end of last page thing.
WBR,
Aleksey Bragin.
On May 31, 2011, at 4:47 PM, Richard W.M. Jones wrote:
>
> Hi, I'm one of the authors of hivex, a program for reading Windows
> registry hive files:
>
> http://libguestfs.org/hivex.3.html
>
> The library can't currently read ReactOS hive files. I'm *very*
> hestitant to say anyone is "wrong" here since the documentation for
> hive files is obviously non-existent, but it appears that ReactOS
> doesn't fill in the end_pages field in the header, and instead relies
> on the size of the file itself.
>
> For example, a hive downloaded from a fresh ReactOS install:
>
> hivex_open: header fields:
> file version 1.3
> sequence nos 3 3
> (sequences nos should match if hive was synched at shutdown)
> original file name
> (only 32 chars are stored, name is probably truncated)
> root offset 0x70 + 0x1000
> ** end of last page 0x1000 + 0x1000 (total file size 0x22000)
> checksum 0x8dc38fdf (calculated 0x8dc38fdf)
>
> Notice that "end of last page" field is 0x1000, versus a completely
> different file size.
>
> hivex currently refuses to read past the end_pages limit, and we are
> able to read every Windows hive that has ever been thrown at us.
>
> If I hack hivex so that it ignores end_pages and simply uses the size
> of the file as a guide, then hivex can successfully read the whole of
> the file.
>
> However I'm a bit unwilling to make this change to hivex just for
> ReactOS, since it works fine with real Windows already.
>
> So I wonder if this could just be a mistake in ReactOS or if there's
> some deeper reason that I'm missing.
>
> TIA,
>
> Rich.
>
> --
> Richard Jones, Virtualization Group, Red Hat http://
> people.redhat.com/~rjones
> virt-df lists disk usage of guests without needing to install any
> software inside the virtual machine. Supports Linux and Windows.
> http://et.redhat.com/~rjones/virt-df/
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev at reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
More information about the Ros-dev
mailing list