Commit graph

304 commits

Author SHA1 Message Date
Alex Barney
a33f829b55 Add GetEntryType to IFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
b8b57c9fb7 Add LayeredFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
edaccdfe81 Add initializers for SwitchFs 2019-01-17 22:38:28 -06:00
Alex Barney
4ded38c1d6 Add SubdirectoryFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
8861f25bc7 Get rid of old code 2019-01-17 22:38:28 -06:00
Alex Barney
3e4dcd9466 Add an IFileSystem provider for DiscUtils 2019-01-17 22:38:28 -06:00
Alex Barney
828c1f5b54 Add a pattern option to EnumerateEntries 2019-01-17 22:38:28 -06:00
Alex Barney
defab1a229 Add StreamFile. Make sure LocalFile closes the base file 2019-01-17 22:38:28 -06:00
Alex Barney
53288105c3 Initial AesXtsFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
cf48b5b21e Add ConcatenationFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
404e05da53 Add IAttributeFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
8f977554f2 Add SaveDataFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
585c351917 Remove old Pfs and Romfs classes 2019-01-17 22:38:28 -06:00
Alex Barney
9a234575ac Add PartitionFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
f94c6e83e9 Add LocalFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
71c4e6746b Begin implementing IFileSystem 2019-01-17 22:38:28 -06:00
Alex Barney
ec4c603afc Refactor AES-XTS tests 2018-12-28 12:35:43 -07:00
Alex Barney
b5dc0e4afa Fix AES-CMAC for partial array segments 2018-12-28 12:35:43 -07:00
Alex Barney
4c950ab231 Forgot to add the check for Mono 2018-12-23 13:33:27 -07:00
Alex Barney
10e62b5ee1 Fix AES-CMAC for incomplete blocks 2018-12-20 17:11:40 -06:00
Alex Barney
d29f7b27a7 Add Mono compatibility for RSA-PSS 2018-12-20 12:32:58 -06:00
Alex Barney
9c3ddf11fb Version 0.2.0 2018-12-11 17:43:33 -06:00
Alex Barney
1b3a0363ce hactoolnet: Add an option to replace a file in save data 2018-12-11 15:11:44 -06:00
Alex Barney
9e3c41ed2c Add keepOpen parameter to AsStream and AsStorage 2018-12-11 13:59:46 -06:00
Alex Barney
b5c9e13df3 Rename SaveFS and Savefile classes 2018-12-11 13:59:35 -06:00
Alex Barney
4a65a5da20 Fix save data off-by-one error 2018-12-10 16:22:51 -06:00
Alex Barney
fa91eea11d Modify Switch FS print options 2018-12-10 15:00:20 -06:00
Alex Barney
5a15118706 Use Aes128CtrTransform in DecryptRsaKey 2018-12-09 18:31:53 -06:00
Alex Barney
ac6d528a30 Make StorageStream check the read/write status of base Storages 2018-12-09 18:31:53 -06:00
Alex Barney
da9ecaec98 Fix build not detecting dotnet version 2018-12-09 14:47:14 -06:00
Alex Barney
bb14125542
Add build script (#20) 2018-11-21 22:57:18 -05:00
Alex Barney
3d50085e22
Use Storage throughout the library instead of Stream (#18)
*Create an IStorage interface and Storage abstract class to use instead of Stream

* Improve AES-XTS performance by ~16x

* Double AES-CTR performance: 800 MB/s -> 1600 MB/s on a 6700K

* Add AES-XTS tests

* Add AES benchmark and AES-CTR writing

* Add support for a hashed FAT in save files

* Add option to export decrypted NCA

* Allow opening decrypted package1 and package2

* Make sure romfs disposal can cascade all the way down

* Validate NCA, NPDM and package2 signatures
2018-11-18 23:20:34 -05:00
jonnysp
f20fac5459 Npdm Support (#15)
* Npdm Support

from Ryujinx with adjustments

* move to namespace

* all classes public

* read the nacp as Stream & add Language to the descriptions

* better naming & fix binary reader

* Tweak formatting and naming
2018-11-03 11:38:54 -06:00
Alex Barney
92d0a2e6c2 Version 0.1.3 2018-10-22 18:00:52 -05:00
Alex Barney
0abd48cfb5 Print key info in MissingKeyException message 2018-10-22 17:59:02 -05:00
Alex Barney
8c934e51c7
Merge pull request #16 from Thealexbarney/save-additions
Add save file writing and improvements
2018-10-22 14:58:00 -06:00
Alex Barney
e9f7556635 Ensure the save header is flushed when committing 2018-10-22 12:51:30 -05:00
Alex Barney
7a7946a26c Add Savefile.CommitHeader method 2018-10-18 18:18:39 -05:00
Alex Barney
f83a284b96 Add verification option to save files 2018-10-18 17:54:24 -05:00
Alex Barney
f8e7c00ef4 Tweak how IVFC validation is done 2018-10-18 16:10:51 -05:00
Alex Barney
da5eec1b3d Writing for all save file layers 2018-10-17 17:15:57 -05:00
Alex Barney
c0393449f1 IVFS writing 2018-10-16 15:01:16 -05:00
Alex Barney
0eaefba071 Make SaveFs writable 2018-10-15 21:17:53 -05:00
Alex Barney
4a43c330b6 Add RemapStorage class 2018-10-15 20:53:49 -05:00
Alex Barney
75cb28364f Create SaveFs class 2018-10-14 19:23:18 -05:00
Alex Barney
6935983b71 Add Seek to AllocationTableStream 2018-10-14 18:00:46 -05:00
Alex Barney
ae649182ce Rename "Savefile" namespace to "Save" 2018-10-13 15:12:10 -05:00
Alex Barney
a27c9f78c7
Merge pull request #13 from Thealexbarney/nca
- 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.
- Add a cache to prevent validation an IntegrityVerificationStream block twice.
- Add section validation for all hashed NCA sections
- Fix a bug in ConbinationStream when reading across boundaries
- Add option to verify NCAs in a SwitchFS or SD card
- Don't error if the an patch NCA's base NCA has no RomFS
2018-10-12 20:32:07 -06:00
Alex Barney
e9602d35da Modify check for ExeFS NCA sections 2018-10-12 21:28:05 -05:00
Alex Barney
75dafd9cbe Remove old classes 2018-10-12 21:08:16 -05:00