Open mariomadproductions opened 1 year ago
Did you try the -y option? As far as i know it verifies everything already.
It seems to calculate the hash of the RomFS without actually comparing it with the hash in the header. It didn't notice that the hash in the header is corrupted in the ROM I have.
You previous issue created on this topic references data being different between the romfs superblock hash in the duplicate header 0x1100-0x11FF. That data isn’t hashed. Infact nothing between 0x200-0x3FFF is hashed(with the exception of initial data) is hashed. It’s not the source of truth regarding the ncch header.
Ah, so you mean that on a real 3DS, the RomFS is not checked against the hash in this duplicate header, and the duplicate header itself is not check against any hash?
I guess then this issue is a feature request for the actual header and duplicate header to be compared. Although I suppose if the 3DS itself doesn't check for this, then theoretically a good cart dump could have this difference, so this should probably just output a warning rather than an error.
Currently, some hashes are not verified in a cart dump (CCI/3DS) file. It would be useful for detecting bad dumps (e.g. bad reads due to dirty contacts) if all the different hashes were verified.