Commit graph

905 commits

Author SHA1 Message Date
Alex Barney
beca253086 Reorganize SaveDataFileSystemService 2024-01-26 15:49:50 -07:00
Alex Barney
49edb744c5 Skeleton a bunch of code related to save data 2024-01-02 00:28:27 -07:00
Alex Barney
908c2ca8ff Update NativeAOT build settings and use ToLowerInvariant 2023-12-16 22:46:37 -07:00
Alex Barney
7a8f0de6db Bump version to 0.20.0 2023-12-10 17:06:08 -07:00
Alex Barney
32dff54cce Use ref readonly 2023-12-09 23:30:19 -07:00
Alex Barney
03bf56f26c Use collection expressions 2023-12-09 18:48:56 -07:00
Alex Barney
f19b219e84 Use inline arrays 2023-12-08 23:54:46 -07:00
Alex Barney
48e7651291 Target .NET 8 2023-12-08 23:30:46 -07:00
Alex Barney
f28e7a7dbb hactoolnet: Copy hactool's option to suppress outputting decrypted keys 2023-11-15 19:45:15 -07:00
emargee
3f5cd08b68 fix: Enable extra cli output for titlekeys (when using titlekey crypto) 2023-11-15 19:45:15 -07:00
[mRg]
300fa877e4
Allow user to supply a titlekey on the command-line when processing NCAs (#290)
* feat: Enable user to supply a single titlekey when processing NCAs

* chore: update README

* feat: add `basetitlekey` support

* chore: README

* fix: check hasnt already been added via title.keys

* fix: Update logic so commandline supplied keys override existing keys in file

* hactoolnet: Parse title keys when reading CLI arguments
2023-11-15 19:22:17 -07:00
Alex Barney
dd478db70a hactoolnet: Don't output unknown key warnings by default 2023-10-18 08:46:02 -07:00
Alex Barney
ae9ea9b7f6 Support opening the INI1 from a v17.0.0+ kernel 2023-10-18 08:46:02 -07:00
Alex Barney
c03e4d3f71 Fix a typo in GetPathLengthMax 2023-10-15 23:52:13 -07:00
Alex Barney
279f86d910 Fix a bug in ConvertToFsCommonPath 2023-10-14 14:07:08 -07:00
Alex Barney
655fed169a Add key sources for 17.0.0 2023-10-13 08:24:46 -07:00
Alex Barney
d54bea8417 hactoolnet: Make some changes for building with NativeAOT 2023-10-11 09:27:26 -07:00
Alex Barney
8de9980160 Bump version to 0.19.0 2023-10-11 09:27:26 -07:00
Alex Barney
934f81da67 Add FileSystemAttribute functionality 2023-10-05 07:28:55 -07:00
Alex Barney
809cecd1aa Fix bug in BucketTree, diff with v16, use new C# features 2023-10-05 07:14:09 -07:00
Alex Barney
04a5d03b5f Fix an incorrect call when opening an NCA 2023-10-05 07:14:09 -07:00
Alex Barney
2b69ec6cf9 Diff fssrv::storage with FS 16 2023-09-17 20:14:15 -07:00
Alex Barney
213515f06f Diff some more storage related classes with FS 16 2023-09-17 20:14:15 -07:00
Alex Barney
e2cbb0898c Diff GcSrv and SdmmcSrv with FS 16 2023-09-17 20:14:15 -07:00
Alex Barney
7005676777 Add SdCardPrivate 2023-09-17 20:14:14 -07:00
Alex Barney
fa9d5422cf Add some XML docs for GcSrv and SdmmcSrv 2023-09-17 20:14:14 -07:00
Alex Barney
94221ef073 Add interfaces for the nn::gc APIs 2023-09-17 20:14:14 -07:00
Alex Barney
fab5efc4de Add a simple emulated GC API implementation 2023-09-17 20:14:14 -07:00
Alex Barney
80588438c0 Add GameCardStorageCreator and GameCardFileSystemCreator 2023-09-17 20:14:14 -07:00
Alex Barney
a55b1d7c58 Implement PartitionFileSystem classes 2023-09-17 20:14:14 -07:00
Alex Barney
a45c541aca Replace the old EmulatedSdCard class 2023-09-17 20:14:14 -07:00
Alex Barney
0964ecb2ee Implement PatrolReader 2023-09-17 20:14:14 -07:00
Alex Barney
4ffc834427 Implement most of sdmmcsrv 2023-09-17 20:14:14 -07:00
Alex Barney
99d497ca7c Make sure to dispose some WeakRefs 2023-09-17 20:14:14 -07:00
Alex Barney
6b2ee7a54d Skeleton most of sdmmcsrv 2023-09-17 20:14:14 -07:00
Alex Barney
e76166d6d0 Skeleton the sdmmc api 2023-09-17 20:14:14 -07:00
Alex Barney
56765598a7 Implement the remaining gcsrv functions 2023-09-17 20:14:14 -07:00
Alex Barney
e18f6a9daf Add GameCardDeviceOperator 2023-09-17 20:14:14 -07:00
Alex Barney
f4c59771cb Add GameCardStorageDevice 2023-09-17 20:14:13 -07:00
Alex Barney
43d63086bf Begin implementing StorageDeviceManagerFactory and GameCardManager 2023-09-17 20:14:13 -07:00
Alex Barney
dfd37d314f Fix an off-by-one error when parsing mount names 2023-09-17 20:14:13 -07:00
Alex Barney
2e04bcad94 Add a SharedLock struct 2023-09-17 20:14:13 -07:00
Alex Barney
c11a1f4eca Update to .NET SDK 7.0.202 2023-09-17 20:14:13 -07:00
Alex Barney
1e421a36ae Add key sources for 16.0.0 2023-06-03 19:13:43 -07:00
Alex Barney
a38d94fee3 Address some analyzer findings 2023-02-05 22:43:08 -07:00
Alex Barney
d2477356fc Bump version to 0.18.0 2023-02-05 21:42:30 -07:00
Alex Barney
c667de1169 Handle CryptographicExceptions when decrypting personalized tickets 2023-02-02 23:16:26 -07:00
Alex Barney
7ee5aec746 hactoolnet: Don't print offset ranges for pfs0 files 2023-02-02 23:16:26 -07:00
Alex Barney
8c4f0b7e42 hactoolnet: Load personalized tickets if possible 2023-02-02 23:16:26 -07:00
Alex Barney
754df0dcd9 Tweak how the eticket rsa key pair is handled 2023-02-02 23:16:26 -07:00
Steveice10
572849b67d Add support for decrypting personalized title keys using eticket_rsa_keypair. 2023-02-02 23:16:26 -07:00
Alex Barney
a1439a2647 Add a function to calculate a pk11 mac and use it in hactoolnet 2023-01-30 19:26:37 -07:00
Alex Barney
bb13864030 Add more TSEC key generation 2023-01-29 22:40:22 -07:00
Alex Barney
c6127972f8 Cleanup and update app save management for 15.x 2023-01-26 21:23:08 -07:00
Alex Barney
903942b2f4 Fix a bug when ensuring bcat saves exist 2023-01-26 21:23:08 -07:00
Alex Barney
ff4de7476b Use generic math alignment in assert code 2022-12-13 19:43:24 -07:00
Alex Barney
df77de365c Use generic math in Util.Alignment 2022-12-13 19:10:10 -07:00
Alex Barney
7fce26e899 Use generic math in Util.BitUtil 2022-12-13 18:09:00 -07:00
Alex Barney
4108a6c149 Use some generic math in assert code 2022-12-10 11:33:21 -07:00
Alex Barney
b7625af148 Use generic math in Util.IntUtil 2022-12-10 11:12:43 -07:00
Alex Barney
d47e0ebedc Change the Ref() extension methods for UniqueRef/SharedRef to properties 2022-12-03 12:53:30 -07:00
Alex Barney
f8766b3cc5 Add implicit ROS<byte> to U8Span cast and use more UTF-8 literals 2022-11-30 23:28:02 -07:00
Alex Barney
3b246535cc Use nameof when referring to parameter names 2022-11-29 20:09:47 -07:00
Alex Barney
c7dcbab6ff Remove all uses of InlineIL.Fody 2022-11-23 19:34:44 -07:00
Alex Barney
72b9a1e5d0 Add NonCopyableDisposable attributes where needed 2022-11-25 11:55:05 -07:00
Alex Barney
c97c0f8297 Use UTF-8 literals where applicable 2022-11-23 14:49:59 -07:00
Alex Barney
506a4691bb Fix transforming data with .NET's AES crypto functions
Input data with sizes larger than 512 bytes that weren't powers of two would fail when copying to the output buffer because rented arrays come in powers of two. This limits the copy size to the number of bytes that were actually encrypted or decrypted.
2022-11-23 14:49:59 -07:00
Alex Barney
ffc9a76fc6 Get the project to compile after updating to .NET 7 2022-11-23 14:49:59 -07:00
Alex Barney
fe8699e8c4 Split out derived device keys into separate prod/dev groups
This fixes an issue where reading certain device keys/seeds would result in dev derived keys instead of prod derived keys
2022-11-22 23:45:52 -07:00
Alex Barney
eccd91bc15 Fix some issues found by static code analysis 2022-11-22 23:05:59 -07:00
Alex Barney
2e769ea70a Catch OutOfMemoryExceptions when calling RSA.VerifyData with OpenSSL 1.1 2022-11-15 22:34:17 -07:00
Alex Barney
2b31368030 Bump version to 0.17.0 and add version output to hactoolnet 2022-11-15 22:09:05 -07:00
Alex Barney
118c48fc0f Update build packages 2022-11-11 19:11:44 -07:00
Alex Barney
100598cada Do code formatting in hactoolnet and test projects 2022-11-11 18:21:07 -07:00
Alex Barney
0dc556d69e Do code formatting in the build project and generated code 2022-11-10 23:13:27 -07:00
Alex Barney
80d52dd499 Do some code formatting in LibHac 2022-11-09 22:14:07 -07:00
Alex Barney
ef71eedc05 Rename Result rc variables to Result res 2022-11-09 21:33:27 -07:00
Alex Barney
70aac7ca7b Normalize "Based on nnSdk" comments 2022-11-09 20:55:44 -07:00
Alex Barney
4362b7be53 hactoolnet: Improve XCI and PFS0 handling
- Automatically import title keys from tickets.
- Automatically apply updates when reading an XCI or NSP.
- Allow listing all contained NCAs, programs or applications.
- Allow specifying the title when an XCI or NSP contains more than one.
- Allow extracting ExeFS or RomFS directly from an NSP.
2022-11-06 14:44:44 -07:00
Alex Barney
a002d92b13 Add key sources for 15.0.0 2022-10-16 21:19:59 -07:00
Alex Barney
89b0a46ca3 CompressedStorage fixes
Removes some leftover CompressedStorage debug code and fixes the CompressionInfoSize constant
2022-10-16 20:31:42 -07:00
Alex Barney
afeb3d391b Add SdCard, SdmmcControl, and SpeedEmulation shims 2022-05-07 14:59:45 -07:00
Alex Barney
2f0a2eabf5 Add MMC shim functions 2022-05-07 00:45:44 -07:00
Alex Barney
934e9af9a4 Implement most of the remaining game card FS shim 2022-05-05 00:33:18 -07:00
Alex Barney
81051907a4 Make GameCardHandle an alias for uint 2022-05-04 14:58:10 -07:00
Alex Barney
902e3e1424 Implement DeviceOperator 2022-05-04 13:09:06 -07:00
Alex Barney
612359f0a4 Implement more FS shim functions
- BaseFileSystem
- ErrorInfo
- FsStackUsage
- ImageDirectory
- Logo
- MemoryReportInfoShim
2022-05-02 18:08:14 -07:00
Alex Barney
e70e23492f Add DeviceSaveData mounting functions 2022-04-30 23:58:19 -07:00
Alex Barney
c2e4b80bac Ensure all FS shim classes are updated for 14.0.0 2022-04-30 13:28:53 -07:00
Alex Barney
366aa51912 Add or update some save data FS shim classes for 14.0.0
- SaveData
- SaveDataForDebug
- SaveDataManagement
2022-04-30 01:13:10 -07:00
Alex Barney
0875f5950c Update SaveDataFileSystemServiceImpl for 14.0.0 2022-04-28 19:16:24 -07:00
Alex Barney
7b44441ff2 Update SaveDataFileSystemService for 14.0.0
- Creating save data file systems now uses a new SaveDataCreationInfo2 struct.
- Ensure all implemented functions in the class are accurate to 14.0.0
2022-04-28 15:13:46 -07:00
Alex Barney
3725c21928 Add SaveDataCreationInfo2 2022-04-24 22:33:31 -07:00
Alex Barney
e24ee1b956 Update IResultConvertFile and use the new save cache manager 2022-04-24 18:37:34 -07:00
Alex Barney
7dfcebfc28 Update DirectorySaveDataFileSystem to implement ISaveDataFileSystem 2022-04-23 12:38:10 -07:00
Alex Barney
cac796ac19 Add the new save data cache classes from 14.0.0 2022-04-21 19:29:03 -07:00
Alex Barney
99ad308b84 Add SwitchStorage and RegionSwitchStorage 2022-04-19 22:31:34 -07:00
Alex Barney
f8b9c3557e Add IntegrityRomFsStorage 2022-04-19 12:42:51 -07:00
Alex Barney
b5ae21207b Mark some classes as being updated for 14.1.0 2022-04-18 19:41:10 -07:00
Alex Barney
28a4deb93c Add FatFileSystemCreator 2022-04-18 19:34:51 -07:00