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
Alex Barney
6c9e6e5203
Add HierarchicalIntegrityVerificationStorage
2022-04-18 18:01:38 -07:00
Alex Barney
b54f5d17fa
Add IntegrityVerificationStorage
2022-04-17 21:25:26 -07:00
Alex Barney
2241a7ced3
Update AesCtrCounterExtendedStorage for 14.0.0
2022-04-16 23:37:10 -07:00
Alex Barney
398a142b27
Update some Nca classes for 14.0.0
2022-04-16 20:55:46 -07:00
Alex Barney
fc3fb188c7
Update IStorage range check functions for 14.0.0
2022-04-14 14:18:24 -07:00
Alex Barney
7dd137da6a
Add os::Semaphore
2022-04-11 15:03:27 -07:00
Alex Barney
e46c1f0231
Add multiple wait APIs
...
This adds the base work that will be needed for waiting on multiple objects. Some tweaks will still probably be necessary to make it work nicely with the .NET APIs.
2022-04-11 14:22:00 -07:00
Alex Barney
4e5e9a4627
Add memory fence functions
2022-04-11 13:54:44 -07:00
Alex Barney
3a05e779f9
Add ReadOnlyBlockCacheStorage
2022-03-14 13:34:52 -07:00
Alex Barney
2c154ec3ba
Implement AlignmentMatchingStorage classes
2022-03-12 15:02:54 -07:00
Alex Barney
eaff8059ba
Skeleton BlockCacheBufferedStorage
2022-03-10 18:39:59 -07:00
Alex Barney
c765ab999e
Rename StorageType to StorageLayoutType
2022-03-10 14:08:20 -07:00
Alex Barney
d28c38a9d0
Add MemoryResourceBufferHoldStorage
2022-03-08 17:20:41 -07:00
Alex Barney
3e64f9ef03
Skeleton NcaFileSystemDriver
2022-03-07 14:08:05 -07:00
Alex Barney
00819731ae
Add AesCtrCounterExtendedStorage
2022-03-04 21:01:35 -07:00
Alex Barney
e8d54159e3
Add AesCtrStorage
2022-03-04 17:35:03 -07:00
Alex Barney
c9352fcb5a
Make AES crypto return the number of bytes written
2022-03-03 16:16:08 -07:00
Alex Barney
b9e2e0863b
Add NcaReader and some related NCA classes
2022-03-02 11:13:37 -07:00
Alex Barney
cd2b8edfa8
Skeleton AesXtsStorage
2022-03-02 11:09:17 -07:00
Alex Barney
800d14f40b
Add more assertion options
2022-03-02 11:08:30 -07:00
Alex Barney
c62de98f63
hactoolnet: Tweak NCA processing
...
- Ignore the relevant --section#(dir) option if the equivalent --exefs(dir) or --romfs(dir) option is set
- Display a warning instead of completely erroring when trying to extract a section that doesn't exist
- Fix an off-by-one error that resulted in section 3 not being extracted. In practice this hasn't mattered much up to this point because no official NCAs contain a section 3.
2022-04-08 18:18:00 -07:00
Alex Barney
98b6d7a346
Fix Nca exception message when a section doesn't exist
2022-04-08 18:10:51 -07:00
Alex Barney
fe6f4422dd
Support reading the initial data/key area of xci files
2022-04-05 18:23:46 -07:00
Alex Barney
1271a7e62d
Add key sources for 14.0.0
2022-04-02 00:54:49 -07:00
Alex Barney
7a51c5f002
Update version to 0.16.1
2022-04-01 19:41:03 -07:00
Alex Barney
7d807c1cd0
Fix FileSystemAccessor log strings
...
The code used to generate the strings turned "\n" into a literal "\n" instead of a new line
2022-04-01 19:12:51 -07:00
Alex Barney
9cad4b287b
PartitionFileSystemCore: Fix opening directories
2022-04-01 18:29:39 -07:00
Alex Barney
0a96e8d623
Fix EnsureApplicationSaveData failing if the temp save already exists
2022-04-01 17:32:38 -07:00
Alex Barney
4e23465982
Misc code accuracy fixes
2022-02-24 16:26:23 -07:00
Alex Barney
a2c64797a9
Add U8Span properties for all nacp string fields
2022-02-20 22:58:01 -07:00
Alex Barney
d6bfecb63f
Add nacp U8Span properties for convenience
...
Adds U8Span properties for the fields in ApplicationControlProperty that contain strings. Makes it easier to know what these fields contain.
2022-02-19 19:48:03 -07:00
Alex Barney
19dc9ebe9f
Fix checking the FS access control content owner info size
2022-02-09 14:09:06 -07:00
Alex Barney
266ece82f2
Update version to 0.16.0
2022-02-05 16:13:31 -07:00
Alex Barney
e140419323
Handle more possible dir save extra data states
2022-02-05 16:12:29 -07:00
Alex Barney
b27bc7e665
Support reading compressed NCAs
2022-02-03 18:40:47 -07:00
Alex Barney
1597f05b27
Actually assign _entryCount field in BucketTree
2022-02-03 18:38:27 -07:00
Alex Barney
49759d3d10
Add GameCardService
2022-02-01 00:11:02 -07:00
Alex Barney
2fb3d88261
Ensure SdCardService and MmcService are updated for 13.1.0
2022-01-29 19:41:19 -07:00
Alex Barney
91e1e65aff
Add IHash256Generator interfaces
...
- FsSystem.IHash256Generator
- FsSystem.IHash256GeneratorFactory
- FsSystem.IHash256GeneratorFactorySelector
2022-01-27 15:06:03 -07:00
Alex Barney
e969554639
Ensure more FS classes are updated for 13.1.0
...
- FsSrv.Impl.IResultConvertDirectory
- FsSrv.Impl.IResultConvertFile
- FsSrv.Impl.IResultConvertFileSystem
- FsSrv.Impl.SaveDataExtraDataAccessorCacheManager
- FsSrv.Impl.SaveDataExtraDataResultConvertAccessor
- FsSrv.Impl.SaveDataResultConvert
- FsSrv.Impl.SaveDataResultConvertDirectory
- FsSrv.Impl.SaveDataResultConvertFile
- FsSrv.Impl.SaveDataResultConvertFileSystem
- FsSrv.Impl.StorageInterfaceAdapter
- FsSystem.ISaveDataCommitTimeStampGetter
- FsSystem.ISaveDataExtraDataAccessor
- FsSystem.ISaveDataFileSystemCacheManager
- FsSystem.SaveDataFileSystemCacheManager
- FsSystem.SaveDataFileSystemCacheRegisterBase
2022-01-27 15:05:58 -07:00
Alex Barney
32ffda1d3f
Ensure more FS classes are updated for 13.1.0
...
- Add some PooledBuffer global functions
- FsSrv.SaveDataInfoFilter
- FsSrv.SaveDataInfoFilterReader
- FsSrv.StatusReportService
- FsSrv.StatusReportServiceImpl
- FsSrv.TimeService
- FsSrv.TimeServiceImpl
- FsSystem.DefaultAsynchronousAccessSplitter
- FsSystem.IAsynchronousAccessSplitter
- FsSystem.StorageFile
2022-01-26 20:06:59 -07:00
Alex Barney
2c2fed445f
Ensure more FS classes are updated for 13.1.0
...
- FsSystem.ForwardingDirectory
- FsSystem.ForwardingFile
- FsSystem.ForwardingFileSystem
- FsSystem.StorageLayoutTypeSetDirectory
- FsSystem.StorageLayoutTypeSetFile
- FsSystem.StorageLayoutTypeSetFileSystem
- FsSystem.StorageLayoutTypeSetStorage
- Fs.MemoryStorage
- Fs.ReadOnlyFile
- Fs.ReadOnlyFileSystem
2022-01-25 17:02:44 -07:00
Alex Barney
a7ffae3a14
Add UnionStorage
2022-01-24 15:34:14 -07:00
Alex Barney
0ba0a9ad9c
Fixup ApplicationSaveDataManagement and update to 13.1.0
2022-01-24 15:02:32 -07:00
Alex Barney
dea3b3a8b0
Add some save data transfer client classes
...
- Fs.ISaveDataChunkIterator
- Fs.ISaveDataChunkExporter
- Fs.ISaveDataChunkImporter
- Fs.ISaveDataDivisionExporter
- Fs.ISaveDataDivisionImporter
- Fs.SaveDataTransferManagerVersion2
- Fs.SaveDataTransferProhibiterForCloudBackUp
- Fs.Impl.SaveDataChunkIterator
- Fs.Impl.SaveDataChunkExporter
- Fs.Impl.SaveDataChunkImporter
- Fs.Impl.SaveDataExporterVersion2
- Fs.Impl.SaveDataImporterVersion2
- Fs.Shim.SaveDataTransferVersion2Shim
2022-01-24 13:39:39 -07:00
Alex Barney
ebc6e1b23d
Update FileSystemProxyImpl to 13.1.0
2022-01-19 15:28:14 -07:00
Alex Barney
ed6a34d857
Add DebugConfigurationService
2022-01-19 13:17:10 -07:00
Alex Barney
37b8249a8b
Ensure more FS classes are updated for 13.1.0
...
- DeviceEventSimulationStorage
- MultiCommitManager
- DirectorySaveDataFileSystem
- SubdirectoryFileSystem
- FsSystem.Utility
2022-01-19 12:24:28 -07:00
Alex Barney
795bcf0960
Add/skeleton SignedSystemPartition/SdmmcControl
2022-01-19 01:36:23 -07:00
Alex Barney
c389f471d4
Ensure all complete shim classes are updated for 13.1.0
...
- ProgramIndexMapInfo
- ProgramRegistry
- SystemSaveData
2022-01-18 21:38:06 -07:00
Alex Barney
74ed435dee
Ensure all of Shim.SaveDataManagement is updated for 13.1.0
2022-01-18 20:45:48 -07:00
Alex Barney
dc2a1cfaef
Ensure more shim classes are updated for 13.1.0
...
- PosixTime
- RightsId
- SaveData
2022-01-18 18:04:06 -07:00
Alex Barney
0b9af17dfd
Ensure shim classes are updated to 13.1.0
...
- Fs.Impl.DirectoryServiceObjectAdapter
- Fs.Impl.FileServiceObjectAdapter
- Fs.Impl.FileSystemServiceObjectAdapter
- Fs.Impl.StorageServiceObjectAdapter
- Fs.Shim.Application
- Fs.Shim.BcatSaveData
- Fs.Shim.Bis
- Fs.Shim.Code
- Fs.Shim.Content
- Fs.Shim.ContentStorage
- Fs.Shim.CustomStorage
- Fs.Shim.LoaderApi
2022-01-16 18:43:12 -07:00
Alex Barney
330bc2b483
Ensure Host shim is updated for 13.1.0
2022-01-16 01:04:24 -07:00
Alex Barney
f315cee9af
Remove a workaround for CS8350 by using fixed arrays
2022-01-15 13:50:15 -07:00
Alex Barney
7f1035374d
Ensure SaveDataSharedFileStorage classes are updated for 13.1.0
...
- SaveDataOpenTypeSetFileStorage
- SaveDataSharedFileStorage
- SaveDataFileStorageHolder
2022-01-15 13:28:24 -07:00
Alex Barney
d116903892
Add some "unchecked" blocks
...
Try to identify places where integer overflow is expected and mark them as "unchecked"
2022-01-15 12:39:06 -07:00