Commit graph

271 commits

Author SHA1 Message Date
Alex Barney
34e926f2a4 Don't use IStorage for reading the romfs file table.
It's at least 2-3x faster reading it all from a byte array
2019-02-04 20:23:13 -06:00
Alex Barney
7004b22958 Create RomFs namespace 2019-02-04 20:23:13 -06:00
Alex Barney
7e5c8c4e8e Improve XCI open performance 2019-02-04 20:23:13 -06:00
Alex Barney
fb4619f4ab Use the dictionary in the romfs instead of creating our own 2019-02-04 20:23:13 -06:00
Alex Barney
e5f808cd2d Don't read invalid NAX0 files 2019-01-27 19:39:06 -06:00
Alex Barney
bd73237e98 Move RomfsEntry class 2019-01-23 15:40:44 -06:00
Alex Barney
6e2fa012c2 Make IStorage array read/write extension methods 2019-01-23 15:40:44 -06:00
Alex Barney
42044d02ba Add LocalStorage class 2019-01-23 15:40:44 -06:00
Alex Barney
1d07a98d1e Make sure storage conversion extensions are in place 2019-01-23 15:40:44 -06:00
Alex Barney
8e151c4a1c Make IStorage interface and classes less complex 2019-01-23 15:40:44 -06:00
Alex Barney
30b42eaf34 Add very basic read benchmark 2019-01-21 12:58:25 -06:00
Alex Barney
b6964589fa Slightly speed up IntegrityVerificationStorage 2019-01-21 12:57:40 -06:00
Alex Barney
39f952015f Catch errors when checking an AesXtsFile's size 2019-01-20 15:39:19 -06:00
Alex Barney
0ed67d87df Add NDV0 support 2019-01-19 21:05:25 -06:00
Alex Barney
fba89fbb95 Add AesXtsFile creation and FileReader 2019-01-17 22:38:28 -06:00
Alex Barney
fe1400476a DiscUtils: Workaround a bug by always assuming the long name is used 2019-01-17 22:38:28 -06:00
Alex Barney
c3026f04b6 Add ConcatenationFileSystem writing 2019-01-17 22:38:28 -06:00
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