emoose / xvdtool

A command-line tool for manipulating Xbox One XVD & XVC files.
GNU General Public License v2.0
140 stars 28 forks source link

XBFSTool exception - Index was outside the bounds of the array #45

Closed MRiCEQB closed 1 year ago

MRiCEQB commented 2 years ago

Hi,

I got 3 dumps, where 1 works perfectly fine and the other two throw the following expection, when I use the -i parameter:

XBFSTool 0.53.0-5737d20: Xbox boot filesystem tool

Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at LibXboxOne.Nand.XbfsHeader.ToString(Boolean formatted)
   at LibXboxOne.Nand.XbfsFile.ToString(Boolean formatted)
   at LibXboxOne.Nand.XbfsFile.ToString()
   at XBFSTool.Program.Main(String[] args)

The -c paramter however works on both of them and I can see all the contents of the certificate.

Could it be that the two dumps which don't work come from a recent FW update or something where Microsoft changed something that XBFS Tool can't parse correctly?

The dump can be provided if needed.

tuxuser commented 2 years ago

Yeah, it's possible that something was changed in the header layout. A dump would be helpful.

MRiCEQB commented 2 years ago

Yeah, it's possible that something was changed in the header layout. A dump would be helpful.

Do you need the entire dump or just a part of it? Is there another way to contact you and hand it over? I wouldn't want it to be public tbh :/

tuxuser commented 2 years ago

Follow up: the NAND contains more files than known filenames.

Needs to be handled here: https://github.com/emoose/xvdtool/blob/ca47ce1ae6d551bcb50a9a4865791606d891a6a1/LibXboxOne/NAND/XbfsHeader.cs#L79

tuxuser commented 2 years ago

Should be fixed now