Hi!

I'm one of the main authors of ReactOS' registry code in the kernel.

Although ReactOS uses a very compatible version of the Cm library which handles 
the higher-order registry functionality, it uses a customized version of the 
Hive Library (Hv) which is incompatible with the Windows one on many factors, 
including the one you mentioned (as well as incorrectly sorting the keys -- you 
must not be relying on that functionality).

A good GSoC project would've been for someone to rewrite the Hv code and/or fix 
it.

--
Best regards,
Alex Ionescu

On 2011-05-31, at 8:47 AM, 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
> [email protected]
> http://www.reactos.org/mailman/listinfo/ros-dev


_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to