AuroraWright / SafeA9LHInstaller

A noob-proof ARM9LoaderHax installer/updater/uninstaller for 3DS
GNU General Public License v3.0
144 stars 35 forks source link

Problem updating ancient version of A9LH #49

Open v0idMrK opened 7 years ago

v0idMrK commented 7 years ago

So following Plailect's guide to update A9LH (https://3ds.guide/updating-a9lh.html) on Step 2 of Section 2 safea9lhinstaller returns an error "Error: firm1.bin is invalid or corrupted" even after making sure every file was in the right place, and redownloading everything and even trying with another sdcard. Note that this is an old version of A9LH (back then when the guide was on github instead of being on 3ds.guide) that this 3ds has installed.

More details: O3DS EUR (CTR-001(EUR)) Using a9lh with latest luma3ds as of today Using latest safea9lhinstaller as of today firmware 11.2

Masamune3210 commented 7 years ago

Having the same issue, O3DS XL, latest files as of 1/18

v0idMrK commented 7 years ago

old a9lh instalation? im guessing, wild guess here, the firm0 and firm1 partitions when using the older guide are different than when using the newer guide. but im not sure im just guessing what seems logical to me.

Masamune3210 commented 7 years ago

im not sure that matters much, it seems like the installer is complaining that the firm1.bin file isnt matching the hash that the installer is expecting, shouldnt have anything to do with whats installed currently in the nand

v0idMrK commented 7 years ago

could be also, but wouldnt people using the guide from scratch (instead of updating) have the same problem?

v0idMrK commented 7 years ago

Looking at ShadowNAND's firm1Hash and comparing it to safeA9LHinstaller firm1HashRetail they look a lot different, should this be the problem?

Masamune3210 commented 7 years ago

I dont know why it would only affect people who are updating a9lh

What does ShadowNAND's hash have anything to do with it

v0idMrK commented 7 years ago

Maybe it calculates the hash from the firm1.bin file compares it to the values in the code if they not match, then it returns the error that firm1.bin is invalid.

Masamune3210 commented 7 years ago

Thats exactly what it does, if you look at the source you can see where it has the hash stored, it hashes the file and then compares it to what it has stored in the installer. If it doesnt match, the installer throws an error and waits for the user

v0idMrK commented 7 years ago

Yes thats what im saying. I think the hash on Aurora's code is not right as I calculated the hash of firm1.bin and it didnt match the values on safea9lhinstaller's code. I could be wrong.

Masamune3210 commented 7 years ago

or something is up with the download, but i get what you mean

v0idMrK commented 7 years ago

Calculate firm1.bin sha-256 hash and compare it to the values on the source code you will see that they dont match...

Masamune3210 commented 7 years ago

which could either mean that the download is FUBAR or that the installers hashing function is messed up somehow when it comes down to updating a install

GrayJack commented 7 years ago

Aurora changed the hash of the firm1 cause now it's using the 10.0 firm as firm1. If I'm not mistaken, the guide have a data_input_v3.zip that inside it have a file named firm0_100.bin, change the name of that file to firm1.bin and then it SHOULD work, but I'm not sure.

You can see this change here: https://github.com/AuroraWright/SafeA9LHInstaller/commit/b1d596177aa27fb9885f170484bd9e52ace1bf30