Commit graph

1100 commits

Author SHA1 Message Date
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
Alex Barney
f0aac13fab Add some SaveDataInfoReader functions 2019-10-22 17:52:55 -05:00
Alex Barney
3af543e4e1 Do error handling in CreateSaveDataFileSystemImpl 2019-10-21 20:38:59 -05:00
Alex Barney
e74bda1a68 Implement DeleteSaveDataFileSystem 2019-10-21 00:29:54 -05:00
roblabla
d2cf1ecb1f hactoolnet: Add Title Name to NCA output
When displaying an NCA containing an NPDM in the code partition, display the
title name.
2019-10-19 10:41:28 -05:00
Alex Barney
92049bf9b7 Add main parts of CreateSaveDataFileSystem 2019-10-18 18:57:45 -05:00
Alex Barney
fef6d19900 Rearrange some FS client functions 2019-10-17 15:52:29 -05:00
Alex Barney
ee9bee3efb Make IFileSystem implement IDisposable 2019-10-17 14:52:44 -05:00
Alex Barney
d330d11de2 Add SaveDataIndexer 2019-10-17 10:52:35 -05:00
Alex Barney
c7f2f28a81 Fix CleanDirectoryRecursivelyGeneric 2019-10-16 20:28:46 -05:00
Alex Barney
dee7c93285 Use plain structs for kvdb 2019-10-15 12:33:15 -05:00
Alex Barney
be907ce4bb
Target .NET Core 3.0 (#85)
* Target .NET Core 3.0

* Update build and test project packages

* Update AppVeyor build image
2019-10-14 21:10:53 -05:00
Alex Barney
9b9e83f1dc Increment GitVersion. Renaming 2019-10-14 17:26:47 -05:00
Alex Barney
102adb4a11 Update version to 0.6.0 2019-10-14 12:28:23 -05:00
Alex Barney
49ec3d6427 Add a path normalizer that behaves like the one in FS 2019-10-14 12:10:56 -05:00
Alex Barney
e05a37bb38 Ensure failed directory savedata commits can be recovered 2019-10-14 12:10:56 -05:00
Alex Barney
db88a46d07
Merge pull request #83 from Thealexbarney/fssrv
Add the base/beginnings of a FileSystem service
2019-10-12 20:18:15 -05:00
Alex Barney
576049ce88 Add OperateRange to IFile and IStorage. Reorder methods 2019-10-11 21:20:20 -05:00
Alex Barney
8390e10ae0 Make FileBase abstract methods protected 2019-10-11 20:32:47 -05:00
Alex Barney
8f4c310b7e Add FileSystemBase 2019-10-11 19:11:36 -05:00
Alex Barney
162fb4e389 Move IStorage classes to the new StorageBase 2019-10-11 14:48:31 -05:00
Alex Barney
bfc343e801 Add some validation to StorageBase 2019-10-11 12:53:29 -05:00
Alex Barney
54950c9b68 Handle more errors in LocalFileSystem 2019-10-10 19:01:46 -05:00
Alex Barney
089b5b4f63 Add EmulatedGameCardFsCreator 2019-10-08 20:39:07 -05:00
Alex Barney
f4aaa3b453 Merge from master 2019-10-08 16:29:05 -05:00
Alex Barney
6ed1f1297d Make GameCardHandle.Value public 2019-10-08 11:29:33 -05:00
Alex Barney
b517085e92 Add DefaultFsServerObjects for creating a default server instance 2019-10-07 19:01:53 -05:00
Alex Barney
51a13068df Add an emulated gamecard and storage creator 2019-10-07 18:39:06 -05:00
Alex Barney
9934f477d5 Add remaining GetRightsId methods and U8StringBuilder 2019-10-04 17:17:25 -05:00
Alex Barney
fdd7eebb4b Add external key methods to FS client/server 2019-10-02 17:57:10 -05:00
roblabla
a68d8c16d8 Add developer fixed key modulus 2019-10-02 13:53:40 -05:00
Alex Barney
d291500b28 Add ExternalKeySet. Use C# 8.0 2019-10-02 13:45:58 -05:00
Alex Barney
d7f3e94577 Add a basic SaveDataFileSystemCreator 2019-10-01 16:32:20 -05:00
Alex Barney
5011a57d3e Add an option to control which types of access events are logged 2019-09-30 16:15:31 -05:00
Alex Barney
22bbf07c2b Add a function for handling possible access log output 2019-09-29 11:54:34 -05:00
Alex Barney
838bb18a09 Add some savedata client functions 2019-09-27 23:36:43 -05:00
Alex Barney
00eb988793 Move FileSystemManager into FileSystemClient 2019-09-25 17:50:07 -05:00