Commit graph

536 commits

Author SHA1 Message Date
Alex Barney
5d6dce7e1f Properly pass the missing rights ID to MissingKeyException 2019-12-18 11:59:23 -06:00
Alex Barney
d08e6b060c Add PartitionFileSystemCore 2019-12-07 16:12:49 -06:00
Alex Barney
0c4aad32a0 Ignore key name case when parsing a key file 2019-12-07 16:12:49 -06:00
Alex Barney
ba2a923296 Update FS enum and structure names
The new names should be all or mostly all official
2019-12-07 16:12:49 -06:00
Alex Barney
89d70757a3 Add MountApplicationPackage 2019-12-07 16:12:49 -06:00
Alex Barney
31563ad108 Add FileStorageBasedFileSystem 2019-12-07 16:12:49 -06:00
Alex Barney
3d7ff652e0 Add CommonMountNames 2019-12-07 16:12:49 -06:00
Alex Barney
ac70990fa0 Add Slice functions to U8Strings 2019-12-07 16:12:49 -06:00
Alex Barney
a6161e693c Add MountContent shims 2019-12-07 16:12:49 -06:00
Alex Barney
c6a261eeee Rename LocalAccessLogMode to AccessLogTarget 2019-12-07 16:12:49 -06:00
Alex Barney
57586d75fd
Target netstandard2.1 and netcoreapp3.0 (#99)
.NET Core 2.1 introduced some runtime changes to support Span<T> and ByReference. Along with this comes the ability to do things like reinterpret memory as a different type. In .NET Framework the garbage collector couldn't track these references. These features proved useful enough that support for .NET Framework was dropped.

* Target netstandard2.1 and netcoreapp3.0
* Build: Zip native builds. Put version in zip filename
* Always build native exe on AppVeyor
2019-11-29 13:11:04 -06:00
Alex Barney
f304f664f4 Build for the current OS when doing a CoreRT build 2019-11-27 20:03:47 -06:00
Alex Barney
62d2b79d19 Update build script permissions 2019-11-26 20:55:10 -06:00
Alex Barney
fdc3a11692 Bump version to 0.7.0 2019-11-26 20:49:55 -06:00
Alex Barney
526864c456 Update build and test dependencies 2019-11-26 20:47:05 -06:00
Alex Barney
e18481b3b7 Use Sha256Generator throughout the library 2019-11-26 18:13:30 -06:00
Alex Barney
1efcf3327c Add SHA-256 benchmark with the option to display cycles per byte 2019-11-26 18:13:30 -06:00
Alex Barney
1aa5c9438e Add Sha256Generator 2019-11-26 18:13:30 -06:00
Alex Barney
f9232b9f12 Add ICipherWithIv interface 2019-11-25 11:39:57 -06:00
Alex Barney
99522b748e Add optimized functions for decrypting a single AES block 2019-11-25 11:39:57 -06:00
Alex Barney
abce62dd4f Avoid running into problems from a GC hole in runtimes that don't support fast span.
Support for .NET Framework probably needs to be removed soon. Having runtime support for CreateSpan has turned out to be rather useful.
2019-11-23 21:05:37 -06:00
Alex Barney
2f6b75a8eb Remove use of Enum.TryParse 2019-11-23 20:06:19 -06:00
Alex Barney
3395ebff44 Improve AES key expansion performance 2019-11-23 20:05:05 -06:00
Alex Barney
e02e719ea5 Add crypto benchmarks 2019-11-23 18:56:31 -06:00
Alex Barney
ff23a9179c Add some NACP enums 2019-11-22 19:53:55 -06:00
Alex Barney
a7c733f96c Slightly change some BlitSpan methods 2019-11-22 19:53:55 -06:00
Alex Barney
be2c4d3959 Add SourceLink package 2019-11-22 19:53:55 -06:00
Alex Barney
5d2de68976 Slight renamings 2019-11-22 19:53:55 -06:00
Alex Barney
5b6ca9c160 Add BlitStruct<T> and BlitSpan<T> 2019-11-22 19:53:55 -06:00
Alex Barney
bfaf95026a Add EnsureApplicationSaveData and dependencies
- CreateBcatSaveData
- CreateDeviceSaveData
- CreateTemporaryStorage
- ApplicationControlProperty struct
2019-11-22 19:53:55 -06:00
Alex Barney
df8dab542a Allow setting system save owner to 0 for now 2019-11-22 19:53:55 -06:00
Alex Barney
db6269df5c Interleave AES instructions to improve performance 2019-11-22 13:59:47 -05:00
Alex Barney
191b3d41f6 Ensure crypto works when the input and output buffers are the same 2019-11-22 13:59:47 -05:00
Alex Barney
d0caf6ca4f Use new crypto in Keyset class 2019-11-22 13:59:47 -05:00
Alex Barney
2f4453404f Rename Crypto namespace 2019-11-22 13:59:47 -05:00
Alex Barney
488bd8e682 Rename Aes class 2019-11-22 13:59:47 -05:00
Alex Barney
4b2c4d9553 Refactor non-NI AES code 2019-11-22 13:59:47 -05:00
Alex Barney
2752a7c3db Avoid allocations when doing encryption with AES-NI 2019-11-22 13:59:47 -05:00
Alex Barney
df646fb503 Add functions to encrypt/decrypt entire buffers 2019-11-22 13:59:47 -05:00
Alex Barney
8b47be19c2 Add XTS mode and remove duplicate code 2019-11-22 13:59:47 -05:00
Alex Barney
df27d2a83b Use AES-NI instructions 2019-11-22 13:59:47 -05:00
Alex Barney
f99bc3e0fe Give a better error in LocalFileSystem when trying to initialize it with a file 2019-11-11 12:03:22 -06:00
Alex Barney
fcf46b1822 Reduce memory used by parsing CLI arguments and keys
These actions are usually only performed once per program run, but the objects they used were stored as static properties where they couldn't be cleared from memory. Free up a small bit of memory by only storing them locally.

Reduces memory used by ~150 KB and reduces object count by over 1500
2019-11-03 12:25:09 -07:00
Alex Barney
cccb811293
Add Result methods for debugging (#90)
- Allow setting a callback function for when Result.Log is called.
- Allow setting a function that returns a name for a Result value.
- Print Result name in error messages
2019-10-25 22:13:09 -05:00
Alex Barney
172817a7d5 Make EmulatedSdFileSystemCreator config easier
Also make unintentionally internal classes public and enforce var style
2019-10-24 15:28:36 -05:00
Alex Barney
f3b5cad94b
Merge pull request #89 from Thealexbarney/saveIndex
Add a save indexer with related functions

Adds IFileSystemProxy commands:

- DeleteSaveDataFileSystem
- DeleteSaveDataFileSystemBySaveDataSpaceId
- DeleteSaveDataFileSystemBySaveDataAttribute
- CreateSaveDataFileSystem
- CreateSaveDataFileSystemWithHashSalt
- CreateSaveDataFileSystemBySystemSaveDataId
- OpenSaveDataFileSystem
- OpenReadOnlySaveDataFileSystem
- OpenSaveDataInfoReader
- OpenSaveDataInfoReaderBySaveDataSpaceId
- OpenSaveDataInfoReaderWithFilter
- FindSaveDataWithFilter
2019-10-24 10:37:56 -05:00
Alex Barney
901b72a186 Make internally-used FileSystemProxy methods private 2019-10-23 17:45:28 -05:00
Alex Barney
436de21c86 Add ISaveDataIndexer.GetCount 2019-10-23 17:30:08 -05:00
Alex Barney
bf8b975fa6 Implement more OpenSaveDataInfoReader commands 2019-10-23 17:12:24 -05:00
Alex Barney
04b123f16e Adjust opened SaveDataInfoReaders if the collection is modified 2019-10-23 15:44:00 -05:00