Commit Graph

197 Commits

Author SHA1 Message Date
Maschell ac7637e7bf
Create maven.yml 2020-12-20 15:13:22 +01:00
Maschell 15a1df1358 Add simple test cases 2020-07-10 17:34:59 +02:00
Maschell 95039a42ef Refactor the decryption 2020-07-10 17:29:07 +02:00
Maschell 2604fe5eb9 Use the proper maven folder structure 2020-01-09 11:05:00 +01:00
Maschell 1c17a668d8 Fix size parametet for the readContentAsStream function 2019-06-25 16:01:16 +02:00
Maschell e3be1f5a33 Fix titles without a FST 2019-06-05 21:17:11 +02:00
Maschell 56840994fd Update the readme 2019-06-04 13:33:49 +02:00
Maschell 3715b757ab Add support for wumad data partitions 2019-06-04 13:16:13 +02:00
Maschell 6d9cb2b155 Fix package declaration of NUSDataProviderWumad 2019-06-04 12:54:14 +02:00
Maschell 2c3c25d806 The wudmad loading doesn't require any key.. 2019-06-04 12:53:19 +02:00
Maschell 3b0b5b982f Move NUSDataProvider Wumad into the right package 2019-06-04 12:52:34 +02:00
Maschell 9597b35a6d - Add suppport for multiple wumad partitions
- The WUDPartitionHeader is now the "GameParitionHeader" as it's used by WUD and WUMAD
- Refactor the way of loading the wumad. Now you have to use the WumadLoader, similar to the WUD
2019-06-04 12:13:25 +02:00
Maschell cb0874deda Add initial support for .wumad files.
Doesn't support all .wumads yet. Multiple paritions are not supported. SI partition is required
2019-06-03 22:23:52 +02:00
Maschell 23f7066f0a Update readme 2019-05-04 12:27:09 +02:00
Maschell 95802c7f5d Fix woomy support. 2019-05-04 12:05:34 +02:00
Maschell 96e048b4b5 Some clean up 2019-05-04 11:27:35 +02:00
Maschell 0ed359a43a Add default readFileToStream function wthout offset/size 2019-05-04 11:11:36 +02:00
Maschell 156fcd02df Fix the getFSTEntriesByContentIndex function 2019-05-04 11:11:04 +02:00
Maschell 010e349af9 Optimize the check for Exceptions on the PipedInputStreamWithException. Now everything is checked (properly) on every action do try to do on the stream. 2019-04-30 15:45:38 +02:00
Maschell 62b87fe925 Revert commit [4b9ef5d]. We need that kind of hashing. 2019-04-30 15:43:37 +02:00
Maschell b432537af7 Refactor FSTEntry decrypting 2019-04-30 15:43:04 +02:00
Maschell 8dc4c8cf4d Moved the IV creation into another function, the hash function don't really need the contentIndex. 2019-04-30 14:35:32 +02:00
Maschell 5ccc8c1763 Fix the size alignment wehne decrypting non hashed files 2019-04-30 14:32:34 +02:00
Maschell 4b9ef5da70 Optimize the hash checks when decrypting a non hash file 2019-04-30 14:31:53 +02:00
Maschell da196e845f Force an 0x10 alignment of the offset when trying to decrypt a file 2019-04-30 14:26:02 +02:00
Maschell fc3a604cd4 Optimize the random access of the non hashed files 2019-04-30 14:25:29 +02:00
Maschell 79365a9fe6 Caclulate how much of the stream actually is needed 2019-04-30 12:04:49 +02:00
Maschell e461e78313 Throw an exception if the inputstream couldn't deliver all the needed bytes 2019-04-30 12:04:09 +02:00
Maschell 3296b1befe Add caching for the h3 values on remote accesses 2019-04-30 12:03:39 +02:00
Maschell 532501f3a5 Remove unused attribute of the NUSTitle class 2019-04-30 09:31:50 +02:00
Maschell 95a25c4bcf Fix the Range attribute for downloading 2019-04-30 09:31:31 +02:00
Maschell 3eb299d3a1 Formatting and organizing imports 2019-04-26 16:44:57 +02:00
Maschell c1f6272476 Rename functions 2019-04-26 16:42:41 +02:00
Maschell a48f2c7547 Remove redundant code 2019-04-26 13:45:24 +02:00
Maschell 69e0c8b36a The size in the FSTDataProvider and NUSDataProvider functions are not Optional anymore 2019-04-26 13:44:24 +02:00
Maschell 9cb2eaf3be Cache h3 content 2019-04-26 13:33:13 +02:00
Maschell c3f4f96344 Fix the partial argument for the decryption 2019-04-26 10:55:13 +02:00
Maschell dd4219423f Refactor the readFileToStream function of the FSTDataProviderNUSTitle 2019-04-26 10:10:10 +02:00
Maschell c57cee987a Use the default readFile implementation for the FSTDataProviderNUSTitle 2019-04-26 10:08:53 +02:00
Maschell ddee4b9f5d Refactor and fix FST parsing.
- Fix a bug when parsing certain FST of system titles.
- Remove the Content reference on the FSTEntry. The Content can get be get via the TMD using getContentByIndex. To get the FSTInfo for the content use FSTUtils.getFSTInfoForContent.
- Children are added manually to a FSTEntry (getting ride of side effects).
- The NUSTitleLoader sets the FST to the dataprovider. The WUDDataProvider needs the FST to get access to the FSTContentInfo (=> calculating the offsets of the content files).
- Remove some unused functions from the FSTEntry class
- To get the FSTEntries for the certain content use getFSTEntriesByContentIndex
2019-04-26 10:08:09 +02:00
Maschell 157957f3ee Add default implementiation for the readFile function of the FSTDataProvider interface 2019-04-26 09:57:05 +02:00
Maschell 794d4b5146 Remove "abstract" keywords from interface 2019-04-26 09:56:27 +02:00
Maschell 448eea1092 Clean up NUSTitle class, move functions to FSTUtils class 2019-04-26 09:55:52 +02:00
Maschell 5a57d42c52 Check partial file reads on a different location 2019-04-26 09:51:28 +02:00
Maschell 995d548c11 Swap offset and size arguments in decrypt functions 2019-04-26 09:49:50 +02:00
Maschell 6981345467 Force the use "/" as the path separator internally 2019-04-24 13:53:07 +02:00
Maschell c1a1961e03 Minor formatting 2019-04-24 13:28:59 +02:00
Maschell 0d39c037ad Increase the size of the PipedStream buffers. This increases the performance. 2019-04-24 13:28:47 +02:00
Maschell 1f02e9d41d Give the NUSDataProvider implementation a hint to limit the length of the content stream 2019-04-24 13:27:54 +02:00
Maschell a58c1c5b77 Make sure to always read the expected Blocksize from a stream of a hashed content. 2019-04-24 13:27:02 +02:00