roxas75 / rxTools

rxTools
http://www.rxtools.net/
GNU General Public License v2.0
266 stars 81 forks source link

Attempting to inject FBI leads to hang, commit 647b341 #358

Closed gemarcano closed 8 years ago

gemarcano commented 8 years ago

As background, I'm using an o3DS downgraded to fw 9.2 in sysNAND, 10.3 in emuNAND.

I was able to use an older (not sure which) version of rxTools to inject FBI. When compiling 647b341 and installing it, trying to read and just check FBI on both sysNAND and emuNAND leads to rxTools to hang. I did a git bisect and traced the issue to commit 77c1f93773113d85421402193d338fede5f1120e, which is when the TMIO driver was introduced. I don't know enough about 3DS development yet to know what to do at this point, though.

As an aside, in previous commits, although checking FBI would not lead to a hang, all rxTools would output was:

Completed!
Region: USA
(A) continue

From reading the source code, it's not finding or it's failing to open the app (see rxTools/rxtools/source/features/downgradeapp.c:525, I think that's the conditional that's failing). If this is expected behavior for sysNAND, then so be it, but if not, I can open another issue to track this thing. (EDIT: Forgot to mention sysNAND has the original Health & Safety app, not FBI, so I would think it would be detected...).

urherenow commented 8 years ago

@173210

Syphurith commented 8 years ago

Please create NAND FAT16 Xorpad to decrypt the NAND image. I doubt if there is some garbage left after the downgrading. Try open the corresponding folder and check if multiple tmd or app.

173210 commented 8 years ago

If it's broken even with emuNAND, it should be a problem of FatFs library. So, code page or something? Anyway, at least it works for me.

173210 commented 8 years ago

No, it doesn't. I confirmed the issue.

Shadow322 commented 8 years ago

Then this issue needs to be closed

173210 commented 8 years ago

I mean, it doesn't work for me.

173210 commented 8 years ago

Here is diff of the original FatFs and FatFs in rxTools. There are no significant differences. The problem may not be in FatFs.

ctr.txt

173210 commented 8 years ago

Freezing at this point: https://github.com/roxas75/rxTools/commit/3adda013ef9e02e21cb828b12cc89562dfb5689f#diff-02ae78568917b1d89f38461647cbde1cR116

b_read = FileRead(&tmp, &tmd_entry, 0x30, size - (cont * 0x30));
173210 commented 8 years ago

Here is the proof: eb75735456e966722d73ba38af9bbc4120395393

173210 commented 8 years ago

Confirmed 88f16f760a88f5bead1f75c56aa1085c77c4eb69 fixes the issue. downgradeapp.c is a minefield. Be careful.