Commit graph

414 commits

Author SHA1 Message Date
Alex Barney
f59c7c6a84 Add NsoReader 2020-03-26 22:52:49 -07:00
Alex Barney
9cc60e22ec Add loader and libhac results 2020-03-26 22:45:59 -07:00
Alex Barney
b8b2c26457 Tweak duplicate result detection 2020-03-23 16:04:49 -07:00
Alex Barney
0bb3446a8b Make path parser check for a null terminator 2020-03-23 15:54:11 -07:00
Alex Barney
ef72729391 Mark Nacp as deprecated 2020-03-23 10:32:22 -07:00
Alex Barney
d68ca84f07 Update versions to 0.10 2020-03-23 09:40:41 -07:00
Alex Barney
f44b09ec1f Add some Results 2020-03-23 09:10:55 -07:00
Alex Barney
95ef1c9529 Don't write to a read-only file 2020-03-22 17:52:27 -07:00
Alex Barney
8ead72ed84 Add OpenMultiCommitManager to IFileSystemProxy 2020-03-22 00:12:25 -07:00
Alex Barney
0ab96f67bf Add new functions to existing classes deriving from IFileSystem 2020-03-21 23:37:32 -07:00
Alex Barney
ce54ae111c Add MultiCommitManager
- Recovering from an interrupted commit isn't implemented yet
2020-03-21 22:44:38 -07:00
Alex Barney
d1110392b4 Add a function to specify that a returned Result is unused 2020-03-21 22:39:07 -07:00
Alex Barney
0e26c31a2f Enable OpenHostFileSystem in FileSystemProxy and add XML docs 2020-03-16 15:07:09 -07:00
Alex Barney
f7957b4cc8 Remove some old code 2020-03-14 23:27:49 -07:00
Alex Barney
0c6447daac Use U8StringBuilder instead of PathBuilder 2020-03-14 23:22:34 -07:00
Alex Barney
7b4df4671c Add fs_Host shims 2020-03-14 00:18:42 -07:00
Alex Barney
a006816a2e Allow opening directories with OpenFileSystem 2020-03-13 00:09:44 -07:00
Alex Barney
036e048208 Finish OpenFileSystemWithId enough to work with most content 2020-03-10 15:07:06 -07:00
Alex Barney
281fc8aac3 Add TryOpenNsp 2020-03-09 23:44:28 -07:00
Alex Barney
c79053eac3 Add more to OpenFileSystem 2020-03-09 23:44:28 -07:00
Alex Barney
a1eca88378 Add some of OpenFileSystemWithId 2020-03-09 23:44:28 -07:00
Alex Barney
328968c630 Use U8Span more in FilleSystemClient 2020-03-09 00:06:39 -07:00
Alex Barney
c141b72912 Use U8Span in IFileSystem instead of string 2020-03-08 01:00:02 -07:00
Alex Barney
d6fede0893 Don't return duplicate entries in LayeredFS. Add tests 2020-03-03 18:19:11 -07:00
Alex Barney
1f6046ba63 Remove DirectoryEntryType.NotFound 2020-03-03 18:16:29 -07:00
Alex Barney
7ce9ea09e6 Misc build updates 2020-02-29 01:36:23 -07:00
Alex Barney
4d8ace968f Bump version to 0.9.0 2020-02-28 23:58:29 -07:00
Alex Barney
24f293c27a Add names to Results missing them 2020-02-27 23:31:38 -07:00
Alex Barney
14dd2190a5 Add a default, reflection-less Result name resolver 2020-02-27 11:33:39 -07:00
Alex Barney
53c8dceb87 Add XML docs and a header to the Result files 2020-02-26 14:45:58 -07:00
Alex Barney
27618bbc45 Indent results based on hierarchy 2020-02-26 00:55:53 -07:00
Alex Barney
07d8b7c21e Add results found in a Unity game 2020-02-25 17:32:30 -07:00
Alex Barney
5345d2747e Generate Results from a .csv file 2020-02-24 14:45:51 -07:00
Alex Barney
7bef4c6cd9 Combine common code in EnsureApplicationSaveData 2020-02-22 03:05:04 -07:00
Alex Barney
cfb79f5780 Add EnsureApplicationCacheStorage 2020-02-18 23:12:23 -07:00
Alex Barney
44ff25ee9b Add cache storage and an emulated SD card 2020-02-13 17:21:24 -07:00
Alex Barney
4ff12ec21b Fix AesXtsFileSystem 2020-02-12 03:04:04 -07:00
Alex Barney
ea8cc33003 Always allow opening directory savedata 2020-02-12 03:04:04 -07:00
Alex Barney
ecf7bcd8ad Rewrite SubdirectoryFileSystem 2020-02-12 03:04:04 -07:00
Alex Barney
1c28c08c94 Add PathNormalizer 2020-02-12 03:04:04 -07:00
Alex Barney
cb6827e6c2 Add PathTool.IsSubpath 2020-02-12 03:04:04 -07:00
Alex Barney
bc11d7ceaf Implement Nintendo's path normalization functions 2020-02-12 03:04:04 -07:00
Alex Barney
3139f6900e Add common IFileSystem tests
Change GetFileAttributes method signature
2020-01-29 17:33:42 -07:00
Alex Barney
de13c71a0d Add some Result XML docs 2020-01-26 15:34:26 -07:00
Alex Barney
0040db1153 Add IResultLogger and IResultNameResolver 2020-01-26 15:34:26 -07:00
Alex Barney
5910b9f9c2 Add some results from Atmosphere 2020-01-26 15:34:26 -07:00
Alex Barney
9034c54318 Refactor the Result struct 2020-01-26 15:34:26 -07:00
Alex Barney
35b82f5d6e
Misc tweaks (#111)
- Use System.HashCode in GetHashCode methods
- Update master key revisions.
- Remove some unneeded utility functions
- Suppress a spurious ReSharper warning
2020-01-19 23:31:23 -07:00
Alex Barney
1ae973a346 Add InMemoryFileSystem 2020-01-19 14:55:34 -07:00
Alex Barney
da467a10b0 Add ToU8String method to U8Span. Add PathTools.GetFileName 2020-01-19 14:55:34 -07:00
Alex Barney
b742a37012 Rewrite MemoryStorage 2020-01-19 14:55:34 -07:00
Alex Barney
857bde67ee Simplify CoreRT build 2020-01-17 00:20:24 -07:00
Alex Barney
3c7f1692b7 Create temporary savedata in EnsureApplicationSaveData 2020-01-13 21:31:18 -07:00
Alex Barney
5b0c81fcf9 Clean temp storage on FileSystemServer init 2020-01-13 21:31:18 -07:00
Alex Barney
5c1a7920d2 Open temp directory savedata properly 2020-01-13 21:31:18 -07:00
Alex Barney
9c402df18a Add SaveDataIndexerLite 2020-01-13 21:31:18 -07:00
Alex Barney
6abe565de1 Add more savedata shim functions 2020-01-13 21:31:18 -07:00
Alex Barney
b868c8f51a Cast enums to int before formatting in string 2020-01-03 22:06:18 -07:00
Alex Barney
76598cfac9 Filter savedata info rank correctly 2020-01-03 22:06:18 -07:00
Alex Barney
e8bef8af6a
Update SourceLink package/info and target .NET Core 3.1 with hactoolnet (#106)
Make hactoolnet target the LTS .NET Core version.
LibHac still targets .NET Core 3.0.
2019-12-30 23:05:29 -07:00
Alex Barney
5e4ea459cb Update var usage based on ReSharper "when apparent" rules 2019-12-28 15:16:21 -07:00
Alex Barney
496250f094 hactoolnet: add nax0 support 2019-12-27 19:18:29 -07:00
Alex Barney
d68062c8b4 Fix keyblob key derivation regression 2019-12-26 23:16:46 -07:00
Alex Barney
70a879917a hactoolnet: Print the key used to sign/verify savedata 2019-12-26 23:16:46 -07:00
Alex Barney
dd74f44297 hactoolnet: Improve save processing error messages
Return a message indicating keys may be missing when a commit fails after replacing files in a save.
2019-12-18 11:59:23 -06:00
Alex Barney
2b828bb50f Use runtime instead of compile-time conditionals for result logging 2019-12-18 11:59:23 -06:00
Alex Barney
47f2f4954a Ensure returned result codes are logged 2019-12-18 11:59:23 -06:00
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
fdc3a11692 Bump version to 0.7.0 2019-11-26 20:49:55 -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