Commit graph

848 commits

Author SHA1 Message Date
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
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
Alex Barney
955fff8efc Add FileHandleStorage and a new SubStorage class 2019-09-25 17:16:59 -05:00
Alex Barney
c89bc1c706 Make FileSystemProxy implement IFileSystemProxy 2019-09-23 18:37:23 -05:00
Alex Barney
fd40b2fd77 Remove the old FileBase class 2019-09-23 00:36:47 -05:00
Alex Barney
6a449b7da1 Remove IFile.Mode and create a new FileBase class 2019-09-21 23:38:47 -05:00
Alex Barney
22940f20e5 Move custom storage client code together 2019-09-21 13:59:35 -05:00
Alex Barney
0fe3031701 Move common items to the Fs class 2019-09-21 13:05:45 -05:00
Alex Barney
0e01aa3984 Rename FS namespaces 2019-09-21 12:29:10 -05:00
Alex Barney
a7befc5612 Add AccessPermissions enum 2019-09-20 22:51:42 -05:00
Alex Barney
115d798905 Add more methods to IFileSystemProxy 2019-09-20 00:40:14 -05:00
Alex Barney
5ca698eda1 More IFileSystemProxy functions 2019-09-18 18:07:08 -05:00
Alex Barney
7e2dd22079 Add more methods to IFileSystemProxy 2019-09-18 16:29:27 -05:00
Alex Barney
7222c7d469 Add a few more method definitions to IFileSystemProxy 2019-09-16 22:05:22 -05:00
Alex Barney
4bbfa057d2 Add U8String class and some FileSystemClient functions 2019-09-16 16:42:32 -05:00
Alex Barney
2f49021405 Begin filling out FileSystemClient functions 2019-09-15 08:11:54 -05:00
Alex Barney
734d86d336 Change IDirectory to match the interface in FS 2019-09-14 18:35:25 -05:00
Alex Barney
104312bf06 Log result codes in access log 2019-09-08 15:16:37 -05:00
Alex Barney
9e9fd19f63 Return Result from IFileSystem methods 2019-09-08 14:28:42 -05:00
Alex Barney
69e7735666 Change IFile and IStorage classes to return Result 2019-09-03 12:35:34 -05:00
Alex Barney
d073bdfa54 Change IFile and IStorage interfaces 2019-09-01 18:35:59 -05:00
Alex Barney
6823aa7cb8 Add placeholder FileSystemClient functions 2019-09-01 18:17:35 -05:00
Alex Barney
f0ce5a9946 Change names of some enum members 2019-08-31 19:17:28 -05:00
Alex Barney
dfff3b1ccf Create FileSystemClient 2019-08-31 10:15:49 -05:00
Alex Barney
d6165d1097 Add OpenSaveDataFileSystemBySystemSaveDataId 2019-08-29 18:54:51 -05:00
Alex Barney
d610d2262b Add a Result.Log() method to aid in debugging 2019-08-27 12:27:07 -05:00
Alex Barney
cb705c5f0f Add some file system creators 2019-08-25 21:41:48 -05:00
Alex Barney
82c5c5d9a0 Create FileSystemProxy class 2019-08-22 14:56:03 -05:00
Alex Barney
a052ebb8a1 Add fscreator interfaces 2019-08-19 21:24:30 -05:00
Alex Barney
c3dfaf14e8 Add content storage and content meta DB interfaces 2019-08-11 19:22:39 -05:00
Alex Barney
d69c1a4725 Bump version to 0.5.1 2019-08-11 16:42:17 -05:00
Alex Barney
2f4df2eef3 Derive additional SD card keys 2019-08-11 16:36:21 -05:00
Alex Barney
614adb2a31 Don't add unnecessary ".cnmt" to SwitchFs nca names 2019-08-09 20:47:21 -05:00
Alex Barney
9d813ade18
Use .NET Framework reference assemblies from NuGet (#77)
* Use .NET Framework reference assemblies from NuGet

* Update build packages. Specify --no-build when publishing

* Don't sign on Linux
2019-08-09 20:29:06 -05:00
Alex Barney
4ef297be7f Fix getting structure size in RomFsDictionary 2019-08-08 18:12:07 -05:00
Alex Barney
7099b3cdf2
Make the value stored by HierarchicalRomFileTable generic (#76)
* Make the value stored by HierarchicalRomFileTable generic

* Don't use new language features yet
2019-08-08 17:46:49 -05:00
Alex Barney
ea2572c479 Ensure EnsureDirectoryExists works properly 2019-08-08 17:28:34 -05:00
Alex Barney
b03973dc48 hactoolnet: Savefile fixes
Only open as writable if needed
Only commit if needed
2019-07-19 19:50:42 -05:00
Alex Barney
7b8c3f0b4f
Add .NET Standard 2.0 target (#73)
* Add .NET Standard 2.0 target

* Update dependencies
2019-07-15 14:10:48 -05:00
Alex Barney
76550b0bd9
Remove LibHac.Nand and related projects (#72) 2019-07-14 19:56:02 -05:00
Alex Barney
ab8283183b hactoolnet: Don't fix archive flag on non-Windows platforms 2019-07-09 21:27:11 -05:00
Alex Barney
90c048c389 Add basic docs for ConcatenationFileSystem 2019-07-08 13:27:23 -05:00
Alex Barney
74a3929eb9 Workaround the inability to access FAT attributes in Linux 2019-07-08 13:27:23 -05:00
Alex Barney
6f1596ae5f More closely match original FS behavior in IFileSystem 2019-07-07 16:30:18 -05:00
Alex Barney
6adcc8cce0 Rethrow exceptions with external result code 2019-07-07 16:30:18 -05:00
Alex Barney
69658ae08e Add result ranges and convert savedata results to external results 2019-07-07 16:30:18 -05:00
Alex Barney
bbf92766c0 Change behavior of IFileSystem.GetEntryType
GetEntryType now returns NotFound if the entry doesn't exist.
The FileExists and DirectoryExists functions were removed from IFileSystem and readded as extension methods
2019-06-28 23:08:27 -05:00
Alex Barney
8f37b2b1c4 Use more result codes in FS code 2019-06-28 23:08:27 -05:00
Alex Barney
46d4274686 Support xts nca. Handle more errors in switchfs 2019-06-26 13:26:37 -05:00
Alex Barney
abad1ee666 Fix NCA2 decryption bug 2019-06-26 13:26:37 -05:00
Alex Barney
89525c5eaa hactoolnet: Use FileSystemManager in ProcessSave 2019-06-26 13:26:37 -05:00
Alex Barney
a43da54f95 Fix path normalizer bug 2019-06-26 13:26:37 -05:00
Alex Barney
a14b513b59 hactoolnet: Add an access log option and enable it for NCAs
Progress bars for NCA extraction now show the overall progress instead of per-file progress
2019-06-26 13:26:37 -05:00
Alex Barney
b51d4397e9 Add close and unmount methods. Add helpers for common fs tasks 2019-06-26 13:26:37 -05:00
Alex Barney
1859b4ce26 Add FS access log 2019-06-26 13:26:37 -05:00
Alex Barney
5d32150ad8 Update PathTools.IsNormalized to handle mount names 2019-06-26 13:26:37 -05:00
Alex Barney
b821ba9519 Add additional FileSystemManager methods 2019-06-26 13:26:37 -05:00
Alex Barney
9964483e83 Add basic FileSystemManager methods 2019-06-26 13:26:37 -05:00
Alex Barney
a44bdf780e Make path normalizer work with mount names 2019-06-26 13:26:37 -05:00
Alex Barney
5a8744c6b5 Add basic filesystem accessors 2019-06-26 13:26:37 -05:00
Alex Barney
f45d4166eb Add HorizonResultException 2019-06-26 13:26:37 -05:00
Somebody Whoisbored
fc149bf4c4 Add support to writing to the Nand class (#64) 2019-06-17 00:16:04 -05:00
Ac_K
0f110cf7e8 Update Nacp.cs
Fix wrong field who is UserAccountSwitchLock @0x3026 according to https://switchbrew.org/wiki/NACP_Format
2019-06-13 23:39:12 -05:00
Alex Barney
e8847243d9 Version 0.4.1 2019-06-05 00:29:29 -05:00
Alex Barney
775478fa16 Add read and write options to IFile interface 2019-06-04 23:40:48 -05:00
Alex Barney
fbeaff8d88 Make Nca.SectionExists return false for invalid type 2019-06-04 22:26:37 -05:00
Alex Barney
dc8aad1e71
Add IMKV database reader and writer (#61)
* Add Result struct

* Add IMKV database reading

* Add imkvdb writing

* Add get and set to kvdb

* Add Freeze method to IExportable

* Add generic kvdb value

* Add ContentMetaKey for use with kvdb
2019-06-03 20:24:38 -05:00
Alex Barney
61c66bc979 Update version to 0.4.0 2019-05-30 18:37:07 -05:00
Alex Barney
7cacc19b77 Remove DiscUtils csproj files 2019-05-30 18:24:22 -05:00
Alex Barney
9d03729e8a Misc fixes 2019-05-24 15:24:10 -05:00
Alex Barney
1876e3b671 Add ReadOnlyFileSystem 2019-05-24 15:03:07 -05:00
Alex Barney
279e180466 Fix bug when opening patched nca filesystem with no base 2019-05-24 12:44:35 -05:00
Alex Barney
0fa9fccc5f Add DirectorySaveDataFileSystem 2019-05-22 17:08:22 -05:00
Alex Barney
5b764e487e Remove old SaveFsEntry file 2019-05-20 15:04:11 -05:00
Alex Barney
f7b983ccb2 Add PathTools.Combine 2019-05-20 15:01:14 -05:00
Alex Barney
353c538c6b Properly handle opening patch NCAs with an empty base section 2019-05-14 17:03:53 -05:00
Alex Barney
d189826203
Rename IO namespace to Fs (#58) 2019-05-14 16:39:20 -05:00
Alex Barney
e3e6411aa6 Add rename functions to SaveDataFileSystemCore 2019-05-13 21:30:09 -05:00
Alex Barney
25a66cf4df Fix issues with empty files in SaveDataFileSystemCore 2019-05-13 21:30:09 -05:00
Alex Barney
6f7de478eb Implement CreateDirectory in SaveDataFileSystemCore 2019-05-13 21:30:09 -05:00
Alex Barney
b9236b973a Fix bug in CachedStorage that would drop writes
If block 0 of the storage was written to before the cache was filled and then another block was accessed, any writes to block 0 would be lost.
2019-05-13 21:30:09 -05:00
Alex Barney
b83fb6c7fc Add SaveFsList expansion 2019-05-13 21:30:09 -05:00
Alex Barney
823800945a Add comments for the new functions 2019-05-13 21:30:09 -05:00
Alex Barney
c766a413e2 hactoolnet: Add option to replace a savedata's entire contents 2019-05-13 21:30:09 -05:00
Alex Barney
26ac0ed975 Fix bugs when running out of save data space 2019-05-13 21:30:09 -05:00
Alex Barney
47ba61db45 Add DeleteDirectory to savedata 2019-05-13 21:30:09 -05:00
Alex Barney
3c45e7e71b Add DeleteDirectoryRecursively and CleanDirectoryRecursively 2019-05-13 21:30:09 -05:00
Alex Barney
6590cad251 Fix QueryEntry signature 2019-05-13 21:30:09 -05:00
Alex Barney
f1e839a64a Add GetFreeSpaceSize and GetTotalSpaceSize 2019-05-13 21:30:09 -05:00
Alex Barney
bc22d6dd99 Add GetFileTimeStampRaw 2019-05-13 21:30:09 -05:00
Alex Barney
6aa15c0691 Match FS behavior when checking if an NCA section exists 2019-05-06 21:42:53 -05:00
Alex Barney
3888a03a92 Suppress ReSharper warnings 2019-05-06 19:51:41 -05:00
Alex Barney
da5a3449dd hactoolnet: Set archive bit when missing from concat files 2019-05-06 19:04:17 -05:00
Alex Barney
67bf8b19ce Add QueryEntry to IFileSystem 2019-05-06 19:04:05 -05:00
Alex Barney
87e9829892 switchfs: Allow missing save directory in all cases 2019-05-06 19:03:53 -05:00
Alex Barney
72915c0425
Refactor NCA-related classes (#56)
* Begin refactoring NCA classes

* Section opening

* Add NcaNewExtensions

* hactoolnet: Move most nca code to the new api

* Verify nca signatures

* hactoolnet: process patched ncas

* Add NCA encryption counter generation method

From what I can tell, this is the current method used to generate the counter. It's possible that may change in the future.

* Verify NCAs

* Use NcaNew in SwitchFs

* Remove old NCA code

* Rename new NCA classes

* Move struct constants around

* hactoolnet: verify patched nca sections

* Misc
2019-05-06 13:41:51 -05:00
Alex Barney
7804a919d1 SwitchFs: Don't try to open directories as NCA files 2019-04-30 15:40:31 -05:00
Alex Barney
cc9ca448f0
Add fstrim capability to savedata (#54)
* Properly commit version 4 savedata. Remove null span checks

* Add FsTrim to IntegrityVerificationStorage

* Remove dotsettings file

* Add trimming to all savedata layers
2019-04-26 09:48:57 -05:00
shchmue
fbdf6b3be9 Add support for 8.0.0 Kernel-embedded Ini1 (#51) 2019-04-23 18:13:46 -05:00
Alex Barney
6764dc7800
Merge pull request #52 from Thealexbarney/save-edit
Add more support for savedata FS editing
2019-04-23 15:14:10 -05:00
Alex Barney
0441d6e825 Small code cleanup 2019-04-23 15:08:27 -05:00
Alex Barney
c383b94632 Allow resizing when replacing file in savedata 2019-04-22 21:37:01 -05:00
Alex Barney
fdefd5cf36 Create a separate method for savedata debug export 2019-04-22 21:34:32 -05:00
Alex Barney
300a4335ea Flush IVFC storage on savedata commit 2019-04-22 21:32:57 -05:00
Alex Barney
5bb46b2b36 Forward Savedata FS functions to core FS 2019-04-20 14:21:09 -04:00
Alex Barney
8914d89b32 Add SaveDataFile resizing 2019-04-20 14:15:00 -04:00
jonnysp
42ce382bf5 Add an NRO reader (#44) 2019-04-20 06:46:13 -05:00
Alex Barney
5c84f5c2a4 Add FsTrim for savedata 2019-04-15 23:49:04 -04:00
Alex Barney
9c0e6030e5 Add DeleteFile to savedata 2019-04-12 22:52:33 -04:00
Alex Barney
b1997806c1 Add savedata CreateFile 2019-04-11 18:08:17 -04:00
Alex Barney
c89b8be887 Add joining allocation table lists 2019-04-03 18:04:04 -05:00
Alex Barney
d7dd540b21 Move some logic to AllocationTable 2019-04-03 16:55:14 -05:00
Alex Barney
6112e35eb2 Read directly from save allocation table when requested 2019-04-02 17:21:38 -05:00
Alex Barney
90fc0e096c Use generics for save file table entries 2019-04-01 21:15:08 -05:00
Alex Barney
079ffa6d3b Implement adding entries to HierarchicalSaveFileTable 2019-03-29 16:25:22 -05:00
Alex Barney
dc2bd08823 Implement RenameDirectory for AesXtsFileSystem 2019-03-28 15:32:38 -05:00
Alex Barney
6e6c060e25 Allow setting length on more IStorage classes 2019-03-28 15:32:38 -05:00
Alex Barney
f570c56122 Add ConcatenationFile resizing 2019-03-28 15:32:38 -05:00
Alex Barney
1ee3841125 Add AesXtsFileSystem resizing and renaming 2019-03-28 15:32:38 -05:00
Alex Barney
5c1d8e0786 Fix bugs in the savedata file table
PathParser: Make sure IsFinished is properly set if the path is the root directory.

SaveFsList: When getting the index of a key, the wrong offset would be returned if the key did not exist.

Save/Rom FileTables: The rom file table code assumed the root directory was always at offset 0. This code was copied to the save file table, but the root directory in the save file table is never at index 0. Remove this assumption.
2019-03-23 16:56:08 -05:00
Alex Barney
4557665805 Change IStorage.Length to IStorage.GetSize() 2019-03-18 17:31:47 -05:00
jonnysp
7050b9a681 Avoid opening KIP files twice 2019-03-18 14:30:50 -05:00
Alex Barney
c73493b505 hactoolnet: Use new NCA APIs 2019-03-15 21:23:39 -05:00
Alex Barney
c267826dd1 Add NCA2 support 2019-03-15 21:23:39 -05:00
Alex Barney
56c4554d81 Fix opening decrypted NCAs
Fixes an issue where the decrypted NCA could be incorrect if the first section didn't start at offset 0x4000
2019-03-15 21:23:39 -05:00
Alex Barney
a1bdadb89b Change NCA section open functions
Add an option to open by section type
2019-03-15 21:23:39 -05:00
Alex Barney
093d88a58e Don't set PathMap on standard builds 2019-03-15 12:27:43 -05:00
Alex Barney
c6c2eb04c6
Merge pull request #43 from Thealexbarney/savedata
Directly read from the save FS file table
2019-03-15 10:48:52 -05:00
Alex Barney
d288a24c4e hactoolnet: Add option to load keys from dev.keys 2019-03-14 18:00:52 -05:00
Alex Barney
85a3b56902 Work around DiscUtil's quirks 2019-03-12 17:02:16 -05:00
Alex Barney
d157619ad5 Auto-populate bis_key_source_03 from bis_key_source_02 2019-03-12 16:31:36 -05:00
Alex Barney
f0c09d7712 Add direct read support for the savedata file table 2019-03-11 23:47:48 -05:00
Alex Barney
1110c32cb1 Fix integrity verification performance regression
Integrity verification would always be done on savedata, even when not needed
2019-03-11 23:26:54 -05:00
Alex Barney
06fda75ab9 Fix NullFile not having an access mode set 2019-03-11 22:39:41 -05:00
Alex Barney
7bb99ff926 Add code for printing save FAT chains 2019-03-08 19:18:38 -06:00
Alex Barney
474e1e031e hactoolnet: Write errors to stderr 2019-03-08 14:55:31 -06:00
Alex Barney
12ec4c7966 hactoolnet: Count all files in save data when printing
Previously only the files in the root directory would be counted
2019-03-08 14:48:07 -06:00
Alex Barney
f85eff4ab7 hactoolnet: Set a different exit code on error 2019-03-08 12:41:55 -06:00
jonnysp
7904772fc0 Fix Services
it can have multiple items of one Service
2019-03-08 12:31:42 -06:00
Alex Barney
f3d7054c79 Add an Attribute field to DirectoryEntry
Makes the behavior more like FS
2019-03-07 11:57:54 -06:00
Alex Barney
bc986a4d0b Updated cnmt parsing 2019-03-01 15:02:27 -06:00
Alex Barney
caccc5a677 Support hashed partition FS building 2019-02-26 22:23:22 -06:00
Alex Barney
468c78aadd Remove old Pfs0Builder 2019-02-26 22:23:22 -06:00
Alex Barney
1bcbe9f94a Add a Partition FS builder 2019-02-26 22:23:22 -06:00
Alex Barney
4d655cdd19 Use the Unsafe class in RomFsDictionary 2019-02-25 22:25:49 -06:00
Alex Barney
1c918f705b Do a binary search in ConcatenationStorage when finding a source 2019-02-25 22:25:49 -06:00
Alex Barney
53851ab897 Version 0.3.1 2019-02-22 20:51:53 -06:00
Alex Barney
b5bd5346d4 Fixed StorageStream and NxFileStream from possibly reading too much 2019-02-22 20:19:53 -06:00
Alex Barney
5e321b7601 Fix HierarchicalRomFileTable not working and add tests 2019-02-22 14:09:35 -06:00
Alex Barney
01b14c6476 tsec_root_keys starts counting at 0, not 6 2019-02-19 13:46:29 -06:00
Alex Barney
8d1c5449d1 Order exported keys differently
bis_key_source_03 is now required to derive bis_key_03
2019-02-17 21:14:12 -06:00
Alex Barney
b2e8ee53c0 Support 6.2.0 keygen 2019-02-17 21:14:12 -06:00
Somebody Whoisbored
41b9f3088e Package2 opening and various tweaks (#35)
* Add package2 opening to LibHac.Nand
* Add utility methods for enumerating FileSystems
2019-02-17 19:49:00 -06:00
Alex Barney
632d508e40 Version 0.3.0 2019-02-16 20:50:49 -06:00
Alex Barney
b68261a092
Build script updates (#33)
- Make generated NuGet packages deterministic.
- Add a signing option to the build script.
- Set versions for pre-release builds.
- Publish packages to a MyGet feed.
- Make Windows-produced artifacts match Linux-produced ones
2019-02-16 19:03:56 -06:00
Alex Barney
0e118ae170 Fix RomFsDictionary off-by-one error
When retrieving an entry that happened to be the last entry in the table, the dictionary would incorrectly say that the lookup failed. Fixes #32
2019-02-15 13:54:37 -06:00
Alex Barney
46682cd4dd Fix incorrect BitReader documentation 2019-02-11 20:47:26 -06:00
Alex Barney
017623c300 Add SetSize to AesXtsFileHeader 2019-02-10 17:04:13 -06:00
Alex Barney
2844466bbb Fix AesXtsFileSystem bugs and add the option to specify keys 2019-02-10 17:04:13 -06:00
Alex Barney
fb7254684a Produce an XML documentation file 2019-02-04 20:23:13 -06:00
Alex Barney
29d1cd110f Add some RomFS and IFileStorage documentation. 2019-02-04 20:23:13 -06:00
Alex Barney
f8e724fe0b Add RomFS building to hactoolnet 2019-02-04 20:23:13 -06:00
Alex Barney
e111805702 Remove leftover code 2019-02-04 20:23:13 -06:00
Alex Barney
cdc3800e8d Allow adding individual files to the RomFS builder 2019-02-04 20:23:13 -06:00
Alex Barney
c1beb9d1fd Automatically resize the romfs dictionary 2019-02-04 20:23:13 -06:00
Alex Barney
d2f7aa52dc Remove unneeded code 2019-02-04 20:23:13 -06:00
Alex Barney
0520c25c37 Improve HierarchicalRomFileTable performance 2019-02-04 20:23:13 -06:00
Alex Barney
5457a81068 Improve rom file table read/write performance 2019-02-04 20:23:13 -06:00
Alex Barney
b99bb84e9c Make RomFsDictionary hash table resizable 2019-02-04 20:23:13 -06:00
Alex Barney
eeb6ebf0a7 Add an initial functional RomFS builder 2019-02-04 20:23:13 -06:00
Alex Barney
19cf003160 Add an optional dynamic backing array to MemoryStorage 2019-02-04 20:23:13 -06:00
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
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
bb14125542
Add build script (#20) 2018-11-21 22:57:18 -05:00