Commit graph

153 commits

Author SHA1 Message Date
Alex Barney
3db06782a2 Split up key derivation functions 2018-09-09 17:07:45 -05:00
Alex Barney
310664970c More key derivation
Decrypt keyblobs and derive master keys
Derive device_key and bis_key_XX
2018-09-07 16:27:33 -05:00
Alex Barney
643d603732 Add project information to csproj file 2018-09-03 21:23:47 -05:00
Alex Barney
0dc36560fb Savefile: Build file tree structure 2018-09-03 15:58:58 -05:00
Alex Barney
7bc718c975 Process the file allocation table in savefiles 2018-09-02 21:37:23 -05:00
Alex Barney
1a7e452a89 Add Duplex FS handler for save files 2018-09-01 14:23:45 -05:00
Alex Barney
12fbc1484c
Merge pull request #8 from CaitSith2/master
Stop converting all names to uppercase.
Fix CombinationStream seeking.
2018-08-31 20:09:28 -06:00
caitsith2
b5bfb07cb7 Actually catch only UnauthorizedAccessException. 2018-08-31 20:46:36 -05:00
caitsith2
a7079a3daf Changed how combination stream is seeked...
...when it comes to crossing stream boundaries while reading a block.
2018-08-31 20:46:33 -05:00
caitsith2
dec085142b Skip files/directories that cause...
...UnauthorizedAccessException (particularly when the search all starts
from the root directory of an NTFS drive.)
2018-08-31 20:46:28 -05:00
caitsith2
7042002903 Retrun 0 bytes for reads way past end of file. 2018-08-31 20:45:58 -05:00
caitsith2
94e7051c82 Fixed a bug where the file ...
... potentially doesn't exist in the file system, if you try to open it
directly.
2018-08-31 20:45:47 -05:00
caitsith2
02d2341b6e Stop converting all names to uppercase. 2018-08-31 20:44:23 -05:00
Alex Barney
31ac12d33d Add option to reload console-unique keys 2018-08-31 18:31:49 -05:00
Alex Barney
b182f743ca Make CombinationStream public 2018-08-31 18:10:56 -05:00
Alex Barney
f1ac965df8 Properly set the first map entry when creating a JournalStream 2018-08-31 17:54:45 -05:00
Alex Barney
3d8d3992eb Make certain AES streams seekable
Make AES streams where the initial counter is supplied seekable by storing the initial counter value
2018-08-31 17:53:57 -05:00
Alex Barney
4101c48cf4 Small cleanup 2018-08-31 11:19:14 -05:00
Alex Barney
5a793d61d6 Rename SdFs to SwitchFs 2018-08-31 11:07:46 -05:00
Alex Barney
9f9df45ff6
Merge pull request #9 from Thealexbarney/rename
Rename libhac to LibHac
2018-08-31 10:04:17 -06: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
944245fb8b Don't build NandReaderGui by default 2018-08-28 13:50:14 -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
dcb25713ba Streams should be able to seek past the end 2018-08-28 13:19:20 -05:00
Alex Barney
38dca5c526 Add romfs support to CLI 2018-08-28 12:33:24 -05:00
Alex Barney
9276a213bc Accept all keys from both prod.keys and console.keys 2018-08-27 20:09:23 -05:00
Alex Barney
e7f5702477 Generate keys from master key + source 2018-08-27 17:40:06 -05:00
Alex Barney
0bea29e59e
Merge pull request #7 from CaitSith2/master
Fix case sensitivity issues with long filenames.
2018-08-25 22:28:36 -06:00
caitsith2
0bd4984c06 Address issue #5 2018-08-25 15:49:50 -07:00
caitsith2
5edce67f73 Also optimize a filename check...
... to avoid 3 rounds of recursion per check.
2018-08-25 15:31:26 -07:00
caitsith2
ec1d5134ac Fix case sensitivity issues with long filenames. 2018-08-25 15:22:16 -07:00
Alex Barney
f5d0e547e2 Fix bktr crypto regression 2018-08-25 16:46:08 -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
1dc232e704 Use savefile reader to get tickets from NAND 2018-08-24 18:27:04 -05:00
Alex Barney
80cf0b43fb Use SharedStreams with savefile reading. Fixes #4 2018-08-24 18:22:48 -05:00
Alex Barney
26bf0876cb Rewrite AES CTR classes to give a 6-8x overall speedup 2018-08-24 17:01:27 -05:00
Alex Barney
35475ac5a8 Move streams to Streams namespace 2018-08-23 11:28:45 -05:00
Alex Barney
02464eaa60 Use SharedStreams for PartitionFS and RomFS 2018-08-23 11:23:11 -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
dce63507d1
Merge pull request #3 from CaitSith2/master
hactool uses both comma AND equal for seperators on all key sets.
2018-08-22 13:21:00 -06:00
Alex Barney
7b0ae0c954 Option to export raw RomFS from XCI 2018-08-22 09:58:36 -05:00
Alex Barney
8032d3d46a Workaround save files containing duplicate filenames 2018-08-22 09:57:47 -05:00
caitsith2
8cf0169626 hactool uses both comma AND equal for seperators on all key sets. 2018-08-22 07:55:31 -07: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