Commit graph

65 commits

Author SHA1 Message Date
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
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
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
Alex Barney
e92c686d77 Add save file integrity verification 2018-09-20 20:34: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
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
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
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
Alex Barney
8eeed95639 Process the remapping layer of save data 2018-07-19 18:31:35 -05:00
Alex Barney
f1b660b95f Add IFileSystem interface
I don't know about this. It seems really easy to screw something up.

Allows using the same code for reading the raw nand and reading a normal file system
2018-07-11 20:03:09 -05:00
Alex Barney
ace593a19d Read console-unique keys 2018-07-09 11:47:44 -05:00
Alex Barney
346e50b949 Support reading patched titles from the SD card 2018-07-07 17:47:03 -05:00
Alex Barney
18bb3d8531 First attempt at implementing BKTR 2018-07-07 15:45:06 -05:00
Alex Barney
e919bcab1b Remove old testing code 2018-07-05 21:44:10 -05:00
Alex Barney
57103c0e0b Improve finding a title's main RomFS 2018-07-05 21:37:46 -05:00
Alex Barney
c4efec762f Mimic hactool output. Verify hashes 2018-07-05 16:37:30 -05:00
Alex Barney
20be7206a0 Add basic CLI functionality 2018-07-02 21:23:07 -05:00
Alex Barney
79b09267e6 Begin command line tool 2018-07-02 15:12:41 -05:00
Alex Barney
ca815312d3 Group titles by main application 2018-07-02 13:16:38 -05:00
Alex Barney
d5ddde4909 Read nacp display name and version 2018-06-30 14:15:55 -05:00