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
Maschell
06184da8d3
Only throw an exception in the FSTService when a content for a given wasn't found if the Map is emtpy
2019-04-24 13:26:25 +02:00
Maschell
03181f6078
Close file properly on compressWUDToWUX function
2019-04-24 13:25:22 +02:00
Maschell
254d16a584
Simplify the ByteArrayWrapper constructor
2019-04-24 13:24:08 +02:00
Maschell
59411e4c7d
Throw proper exception while hashing
2019-04-19 14:47:39 +02:00
Maschell
9f6f9aaabe
Make sure all streams are really closed via try/finally block. Added a "closeAll" function in StreamUtils which helps to close a list of closeables
2019-04-19 11:41:12 +02:00
Maschell
fccd8f8bf4
Throw an Exception when a FSTDataProviderNUSTitle has no FSTEntry root
2019-04-19 11:39:09 +02:00
Maschell
a5929f346d
Replace System.exit with throwing an Exception
2019-04-19 11:38:02 +02:00
Maschell
39d10291a2
Fix the warning when you try to decrypt a FSTEntry where the content is empty.
2019-04-19 11:37:22 +02:00
Maschell
dbad684549
Check for execptions when reading an inputstream
2019-04-19 11:36:49 +02:00
Maschell
ef878f7e41
Return an empty HashMap instead of null.
2019-04-19 10:57:18 +02:00
Maschell
1ebe37b77e
Adjust log levels
2019-04-19 10:56:59 +02:00
Maschell
4aa6f532f0
Organize imports
2019-04-19 10:56:43 +02:00
Maschell
9b38f9c8c6
The readToFile function of the FSTDataProvider Interface now does return a value value to indicate success
2019-04-19 10:56:24 +02:00
Maschell
194b3084ae
Add a missing input.close() when an exception happens.
2019-04-19 10:45:01 +02:00
Maschell
d3f2361803
Throw an exception instead of doing a System.exit when the offset is too big.
2019-04-19 10:44:08 +02:00
Maschell
3a6f592294
Use break on reading error instead of return, this way the streams will be closed properly.
2019-04-19 10:43:32 +02:00
Maschell
c47c9913ac
Change the content and parent attribute of a FSTEntry to an Optional
2019-04-19 10:42:33 +02:00
Maschell
75e28a733b
Some minor code cleanup for the WUDInfoParser
2019-04-18 23:28:01 +02:00
Maschell
a9fc37244a
Only throw an exception when no content was found for files that are actually in the title (and not a directory)
2019-04-18 23:27:39 +02:00
Maschell
f8146ce56b
Make SHA2 attribute of ContentInfo Optional
2019-04-18 23:25:20 +02:00
Maschell
7c9fe334a8
The FST and Ticket attribute of the NUSTitle are now optionals
2019-04-18 11:18:32 +02:00
Maschell
73440af121
Return false instead of throwing an exception while trying to extract missing files
2019-04-16 12:59:34 +02:00
Maschell
a521b045ab
- Fix non-gm parition with FST > 0x8000 bytes.
...
- Wrap reading from discReader in WUDInfoParser.
- Only save the complete WUDPartitionHeader in the game partition
- Replace the WUDPartitio.getAbsolutePartitionOffset by getPartitionOffset.
2019-04-14 22:09:15 +02:00
Maschell
54536f29ab
Add simple wrapper for the "readFileAsStream" function of the FSTDataProvider
2019-04-14 20:39:37 +02:00
Maschell
151ad6e2a6
Add support for titles without FST.
2019-04-14 14:50:01 +02:00
Maschell
1698acb3f6
Don't swallow the exception on checksum errors.
2019-04-14 14:49:47 +02:00
Maschell
7d8bb58cc4
Make SI partitions optional for Wii U discs
2019-04-14 13:24:35 +02:00
Maschell
6e9b8df971
Update .gitignore
2019-04-11 17:57:16 +02:00
Maschell
cbfe6539a5
Check if the TMD is from a WiiU by checking the titleID
2019-04-11 17:56:59 +02:00
Maschell
2f820bbe17
Add a new DecryptionService using a FSTDataProvider.
2019-04-11 13:29:08 +02:00
Maschell
40f6b2af73
Remove FSTUtil functions from the NUSTitle class, they were just wrappers to the FSTUtils class are now unused.
2019-04-11 13:28:44 +02:00
Maschell
8c75a1a43e
Move the decryption of a inputstream into a output stream in the NUSDecryption class.
2019-04-11 13:28:12 +02:00
Maschell
fbceae0558
- Replace the readFileAsStream (to InputStream) function with a default implementation in the FSTDataProvider interface. This way the implementations only need to provide a function to write into a outputstream.
...
- Optimize the readEncryptedToStream function on the DiscReader. The normal wud reader don't need to pipe the stream anymore.
2019-04-11 13:27:21 +02:00
Maschell
89d5927acd
Add a readFileToStream function to the FSTDataProvider interface while allows your to read a file to a outputstream
2019-04-11 13:14:50 +02:00
Maschell
53993dc8c4
Remove DecryptionService for now
2019-04-10 20:13:52 +02:00
Maschell
88c0bb8a9e
Add/Update copyright information. Minor cleanup, moved some interfaces
2019-04-10 20:13:38 +02:00
Maschell
c0cdebba97
Add a WUDLoader utility class to load a WUD/WUX and get the Partitions as NUSTitles or FSTDataProvider.
2019-04-10 20:03:48 +02:00
Maschell
4d703d631a
Add a FSTDataProvider implementation using a WUDDataPartition.
2019-04-10 20:01:52 +02:00
Maschell
8e4faa58dc
Add a NUSTitleLoaderFST which allows you to create a NUSTitle from a FSTDataProvider. Useful for recursive mounting
2019-04-10 20:01:19 +02:00
Maschell
de7909eb34
Throw on IOException if the FST length is not aligned to 16 before decrypting.
2019-04-10 19:59:56 +02:00
Maschell
b836705e92
Add a FSTDataProvider based on NUSTitles. This will replace the DecryptionService in the future
2019-04-10 19:27:29 +02:00
Maschell
aae5feafc0
Add a interface "FSTDataProvider" which helps you getting data for a given FSTEntry
2019-04-10 18:59:39 +02:00
Maschell
44b04ea637
Formatting and organizing imports
2019-04-10 18:57:55 +02:00
Maschell
b6a5946f9e
Move some classes and interfaces
2019-04-10 18:55:40 +02:00
Maschell
2913ccf8b2
- Removed the NUSTitlerLoaderWUD
...
- Instead of just parsing the GI partitions, parse now all non-GM partition as "WUDDataPartition".
- Simplified and optimized the WUDInfoParser
2019-04-10 18:52:01 +02:00
Maschell
422c36dde3
Throw a ParseException instead of returning null in the ContentInfo
2019-04-10 18:47:57 +02:00
Maschell
651e32e7ba
- The NUSTitleLoaders now don't inherit anymore from a class, but use a static function from NUSTitleLoader. The NUSDataProvider is supplier by a Supplier argument. This simplifies the config.
...
- Remove the global common key. Now the common key needs to be provided to every loading instance. This way loading with different common keys is much easier (and more robust)
2019-04-10 18:47:22 +02:00
Maschell
d08a42719a
Convert the NUSDataProvider class into an interfacer. All Utility functions are moved to a new DataProviderUtils class.
...
Changes the return values of the raw TMD/TICKET/CERT to Optionals.
Replacing some more null values with Optionals
2019-04-10 18:43:44 +02:00
Maschell
40cb09873d
Close the outputstream after reading from a WUX
2019-04-10 18:13:25 +02:00