Commit graph

507 commits

Author SHA1 Message Date
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
22416f66bf Modify build script naming convention 2019-04-19 16:13:07 -04: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
2cf84b332f Add NDepend logo 2019-04-01 15:07:11 -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