Commit graph

79 commits

Author SHA1 Message Date
Alex Barney
6213111af9 Add option to verify SwitchFS and SD cards 2018-10-12 17:52:15 -05:00
Alex Barney
fb089b0700 Integrity verification improvements
- Add a cache to prevent validation an IntegrityVerificationStream block twice.
- Add section validation for all hashed NCA sections
2018-10-09 18:10:44 -05:00
Alex Barney
24e6434765 Use an enum instead of a bool for integrity checking levels 2018-10-09 15:33:56 -05:00
Alex Barney
a64cbeca5b Continue NCA improvements
- Read only the NCA header when first opening an NCA. This allows for reading of partial NCAs and slightly improves performance when opening an NCA.
- Add a separate NCA method to validate master hashes now that it's not automatically done when opening the NCA.
- Fix possible hang when reading BKTR sections.
- When keys required to decrypt an NCA are missing, throw an exception with information about the missing keys.
- Add more sanity checks when reading an NCA.

Hactoolnet: Don't hard-crash when hitting an unhandled exception
2018-10-08 21:04:39 -05:00
Alex Barney
209d81187a NCA reading improvements
Add on-the-fly Partition FS hash verification
Do some cleanup on NCA classes
2018-10-07 20:29:27 -05:00
Alex Barney
47a3eda0ed Fix key printing 2018-10-05 12:29:52 -05:00
jonnysp
d12f419d8d Add Partition FS extraction (#12)
Add Partition FS extraction + misc. changes
2018-10-03 14:14:23 -06:00
Alex Barney
e798a8dd45 Add key file exporting to hactoolnet 2018-10-02 22:00:57 -05:00
Alex Barney
e740d13bbe Enforce "var" style 2018-10-02 17:25:58 -05:00
Alex Barney
372370db82 Code style naming fixes 2018-10-01 13:07:20 -05:00
Alex Barney
a21283bf44 Print information about save files 2018-10-01 12:55:10 -05:00
Alex Barney
64c98df5b3 Fix hactoolnet build 2018-09-24 14:42:06 -05:00
jonnysp
235ace8b1b added XCI File and Partition HashValidity 2018-09-21 14:37:30 +02:00
Alex Barney
ab565fe83e Version 0.1.2 2018-09-20 21:26:25 -05:00
Alex Barney
e92c686d77 Add save file integrity verification 2018-09-20 20:34:40 -05:00
Alex Barney
ed6c3c2bed Add the option to enable IVFC integrity checks 2018-09-20 16:16:40 -05:00
Alex Barney
f04fc33b07 Read INI1 2018-09-17 19:52:22 -05:00
Alex Barney
8b8aa3277f Read KIP1 files 2018-09-17 19:20:56 -05:00
Alex Barney
4bfaafc301 Add package2 support 2018-09-16 20:26:16 -05:00
Alex Barney
087008f7f4 Add save file signing capability 2018-09-15 22:31:06 -05:00
Alex Barney
e651eb731c Validate save signature 2018-09-15 22:10:42 -05:00
Alex Barney
1f62706d4c Add XCI signature checks and info output 2018-09-13 17:58:40 -05:00
Alex Barney
8230b0ba75 Split hactoolnet processing into multiple files 2018-09-12 20:28:50 -05:00
Alex Barney
8022d193df Add package1 support. Update usage 2018-09-12 19:51:21 -05:00
Alex Barney
49a1f0b5a4 Read save files from SD card 2018-09-10 22:09:35 -05:00
Alex Barney
01f5ed7ccf Update usage text 2018-09-09 20:48:17 -05:00
Alex Barney
643d603732 Add project information to csproj file 2018-09-03 21:23:47 -05:00
Alex Barney
1a7e452a89 Add Duplex FS handler for save files 2018-09-01 14:23:45 -05:00
Alex Barney
5a793d61d6 Rename SdFs to SwitchFs 2018-08-31 11:07:46 -05:00
Alex Barney
93afb840ca Rename libhac to LibHac 2018-08-31 10:50:28 -05:00
Alex Barney
12b2825475 Redo SectorStream classes 2018-08-30 16:18:27 -05:00
Alex Barney
7f016f875b Fix regression caused by decrypting multiple AES blocks at a time 2018-08-28 13:49:55 -05:00
Alex Barney
38dca5c526 Add romfs support to CLI 2018-08-28 12:33:24 -05:00
Alex Barney
e7f5702477 Generate keys from master key + source 2018-08-27 17:40:06 -05:00
Alex Barney
d7929fc458 Use .NET 4.6+ built-in RSA-OAEP decryption 2018-08-25 11:42:33 -05:00
Alex Barney
d701fdd28b Add null check when creating Bktr 2018-08-25 11:37:22 -05:00
Alex Barney
80cf0b43fb Use SharedStreams with savefile reading. Fixes #4 2018-08-24 18:22:48 -05:00
Alex Barney
35475ac5a8 Move streams to Streams namespace 2018-08-23 11:28:45 -05:00
Alex Barney
a68426751f Introduce multi-instance, thread-safe streams
Previously multiple streams could share the same base stream. This meant that you couldn't alternate between streams. If you read from one stream, the state of other streams sharing the same base stream would be messed up and would silently return bad data.

This commit introduces a SharedStream class that allows multiple SharedStreams to share the same base class and not interfere with each other.
2018-08-22 15:54:34 -05:00
Alex Barney
8433b2c91a Extract ExeFS and RomFS for more input types 2018-08-22 15:36:06 -05:00
Alex Barney
7b0ae0c954 Option to export raw RomFS from XCI 2018-08-22 09:58:36 -05:00
Alex Barney
de53449dac Add ExeFS detection 2018-08-15 16:33:45 -06:00
Alex Barney
86741d3c92 Extract main RomFS from XCIs 2018-08-14 17:38:32 -06:00
Alex Barney
1e813818c0 Add support for extracting XCI partitions 2018-08-14 17:21:07 -06:00
Alex Barney
60a8a7b2d3 Read XCI header 2018-08-12 14:45:10 -06:00
Alex Barney
55031755a8 Add ability to create NSP files from SD card contents 2018-08-02 22:14:58 -05:00
Alex Barney
d84c406655 Parse entire NACP file 2018-08-02 18:46:27 -05:00
Alex Barney
46cfb2f948 Read correct duplex data 2018-07-24 18:50:41 -05:00
Alex Barney
f074d89d46 Read and extract core save file system 2018-07-24 14:51:52 -05:00
Alex Barney
b0cac269f3 Read all remapping and journaling savefile layers 2018-07-22 20:28:31 -05:00