Commit Graph

20 Commits

Author SHA1 Message Date
Tillmann Karras
f06aef4f83 Improve NAND import progress dialog
Now with cancel button and an actual progress bar. For simplicity, we do
two passes on the progress bar, one for loading the NAND into memory and
one for extracting it. The user directory is likely on an SSD, making
the extraction pass invisibly fast.
2026-04-04 22:02:45 +01:00
Dr. Dystopia
9dfcbcecff DiscIO: Make functions constant 2025-05-16 19:11:39 +02:00
Dr. Dystopia
07ad189b4f DiscIO: Pass parameters by constant reference 2025-04-20 08:26:09 +02:00
Admiral H. Curtiss
c97c80d1cb NANDImporter: Check data bounds. 2023-04-02 03:45:34 +02:00
Shawn Hoffman
46ad8b9d68 Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
Starsam80
41a3368889 NANDImporter: Only read the AES key once
There is no need to constantly reset the key for every file entry.
2022-03-01 19:24:59 -07:00
Starsam80
80012ae253 NANDImporter: Make superblocks less magical
Create a struct describing the superblock layout and use it directly
without needing to specify offsets and such.
2022-03-01 19:24:59 -07:00
Starsam80
73151a5753 NANDImporter: Don't pass paths if we don't need to 2022-03-01 19:24:59 -07:00
Starsam80
6758c77c39 NANDImporter: Reduce recursion in ProcessEntry
It also simplifies the code flow, as it no longer goes backwards
through the filesystem chain.
2022-03-01 19:24:59 -07:00
Starsam80
2ccd974471 NANDImporter: Improve NANDFSTEntry
`uid` is a u32, not a u16. Also, everything is big endian, so we
can simplify the code a little bit.
2022-03-01 19:24:59 -07:00
Starsam80
643057fea2 NANDImporter: Make a class variable for the NAND root 2022-03-01 15:07:59 -07:00
Pierre Bourdon
e149ad4f0a treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
Techjar
ff972e3673 Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Leo Lam
91dac03c45 Merge pull request #6148 from leoetlino/null-bug
NANDImporter: Construct strings correctly
2017-10-29 10:30:03 +01:00
Léo Lam
7aa083388b NANDImporter: Construct strings correctly
Use std::string(cstring, strnlen(cstring, max_length)) instead of
trying to remove extra null characters manually, which is a bit
ugly and error prone.

And indeed, the original code contained a bug which would cause
extra NULLs to not be removed at all if the string did not
end with a NULL -- causing issues down the road when constructing
paths for sub-entries.
2017-10-28 22:40:05 +02:00
Léo Lam
96d7c39891 NANDImporter: Add support for dumps that don't include keys
This adds support for NAND images that only include the NAND
(i.e. without the OTP/SEEPROM dump appended at the end of the file).
2017-10-28 21:27:18 +02:00
Starsam80
5399311a13 NANDImporter: Improve certificate extraction 2017-06-19 01:23:58 -06:00
Starsam80
3229cde292 NANDImporter: Add logging 2017-05-19 16:36:06 -06:00
Starsam80
618eb9f743 NANDImporter: Use a indeterminate progress meter 2017-05-19 16:31:47 -06:00
Starsam80
6bccc13f3b Add BootMii NAND import functionality 2017-04-09 13:14:05 -06:00