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