Commit Graph

  • 7d8bb58cc4 Make SI partitions optional for Wii U discs Maschell 2019-04-14 13:24:35 +0200
  • 6e9b8df971 Update .gitignore Maschell 2019-04-11 17:57:16 +0200
  • cbfe6539a5 Check if the TMD is from a WiiU by checking the titleID Maschell 2019-04-11 17:56:59 +0200
  • 2f820bbe17 Add a new DecryptionService using a FSTDataProvider. Maschell 2019-04-11 13:29:08 +0200
  • 40f6b2af73 Remove FSTUtil functions from the NUSTitle class, they were just wrappers to the FSTUtils class are now unused. Maschell 2019-04-11 13:28:44 +0200
  • 8c75a1a43e Move the decryption of a inputstream into a output stream in the NUSDecryption class. Maschell 2019-04-11 13:28:12 +0200
  • 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. Maschell 2019-04-11 13:27:21 +0200
  • 89d5927acd Add a readFileToStream function to the FSTDataProvider interface while allows your to read a file to a outputstream Maschell 2019-04-11 13:14:50 +0200
  • 53993dc8c4 Remove DecryptionService for now Maschell 2019-04-10 20:13:52 +0200
  • 88c0bb8a9e Add/Update copyright information. Minor cleanup, moved some interfaces Maschell 2019-04-10 20:13:38 +0200
  • c0cdebba97 Add a WUDLoader utility class to load a WUD/WUX and get the Partitions as NUSTitles or FSTDataProvider. Maschell 2019-04-10 20:03:48 +0200
  • 4d703d631a Add a FSTDataProvider implementation using a WUDDataPartition. Maschell 2019-04-10 20:01:52 +0200
  • 8e4faa58dc Add a NUSTitleLoaderFST which allows you to create a NUSTitle from a FSTDataProvider. Useful for recursive mounting Maschell 2019-04-10 20:01:19 +0200
  • de7909eb34 Throw on IOException if the FST length is not aligned to 16 before decrypting. Maschell 2019-04-10 19:59:56 +0200
  • b836705e92 Add a FSTDataProvider based on NUSTitles. This will replace the DecryptionService in the future Maschell 2019-04-10 19:27:29 +0200
  • aae5feafc0 Add a interface "FSTDataProvider" which helps you getting data for a given FSTEntry Maschell 2019-04-10 18:59:39 +0200
  • 44b04ea637 Formatting and organizing imports Maschell 2019-04-10 18:57:55 +0200
  • b6a5946f9e Move some classes and interfaces Maschell 2019-04-10 18:55:40 +0200
  • 2913ccf8b2 - Removed the NUSTitlerLoaderWUD - Instead of just parsing the GI partitions, parse now all non-GM partition as "WUDDataPartition". - Simplified and optimized the WUDInfoParser Maschell 2019-04-10 18:52:01 +0200
  • 422c36dde3 Throw a ParseException instead of returning null in the ContentInfo Maschell 2019-04-10 18:47:57 +0200
  • 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) Maschell 2019-04-10 18:47:22 +0200
  • 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 Maschell 2019-04-10 18:43:44 +0200
  • 40cb09873d Close the outputstream after reading from a WUX Maschell 2019-04-10 18:13:25 +0200
  • 95c6c085f6 Optimize the getBytesFromStream function StreamUtils Maschell 2019-04-10 18:11:54 +0200
  • 536c28a3b1 Throw a ParseException on error in the ContentFSTInfo Maschell 2019-04-10 18:08:56 +0200
  • cf6b52780c Throw a ParseException on error in the FST and FSTService Maschell 2019-04-10 18:08:04 +0200
  • d1fb43bf65 Throw a ParseException on error in the Content. Maschell 2019-04-10 18:06:56 +0200
  • 88d9f90735 Returns Optionals instead of null or throw proper Exceptions on WUDService class. Maschell 2019-04-10 18:06:02 +0200
  • 9ecd9825b5 Throw a ParseException on error in the TMD. Maschell 2019-04-10 18:05:14 +0200
  • 7869fa42b6 Make the WUDPartition class abstract Maschell 2019-04-10 18:00:32 +0200
  • 64b6cfed97 Add getAbsolutePartitionOffset function to the WUDPartition class. Maschell 2019-04-10 18:00:21 +0200
  • de322b9ebc Use a lambda expression to simplify the sorting in WUDPartitionHeader Maschell 2019-04-10 17:59:02 +0200
  • d713a3d735 Throw an exception instead of returning null in the WUX DiscReader Maschell 2019-04-10 17:58:20 +0200
  • 70d45e80fa Throw exceptions instead returning null in the WoomyParser Maschell 2019-04-10 17:57:15 +0200
  • 9cc1a8c948 Update the XMLParser to return Optionals instead of null values. Maschell 2019-04-10 17:56:36 +0200
  • e3dbf81a8e Add try catch arround the output write in decryptFileStreamHashed to check if the output stream was already closed. Maschell 2019-04-10 17:54:20 +0200
  • c2579f1cd8 Add FSTUtils class for common FST operations Maschell 2019-04-10 17:48:54 +0200
  • dd8f7bcb5f Added optional parameter to limit the size of a input stream for content Maschell 2019-04-07 14:57:41 +0200
  • ac1d08645d Add support for the "LocalBackup" format Maschell 2019-04-07 14:56:32 +0200
  • 486f146a06 Do not cast when not needed. Maschell 2019-04-07 14:54:43 +0200
  • 1f1cd3e64a Return a IOException when parsing a WUD fails Maschell 2019-04-07 14:54:02 +0200
  • 7bd424ec42 Fix a bug in the "getChunkOfStream" function Maschell 2019-04-07 14:53:35 +0200
  • 31fcc4fc6d Fix the buffer size in the getBytesFromStream function Maschell 2019-04-07 00:38:51 +0200
  • a5bc706cb9 Fixing the IV for certain reads Maschell 2019-04-07 00:12:20 +0200
  • 0261e33b80 Fix potential bug Maschell 2019-04-07 00:11:13 +0200
  • 48f8629744 Implement random access for non-hashed files Maschell 2019-04-07 00:10:36 +0200
  • 57611173b4 Optimize the NUSDataProviderWUDGI implementation Maschell 2019-04-06 16:57:12 +0200
  • a0ce93dc38 Fix the return type of the "getDecryptedOutputAsInputStream" function Maschell 2019-04-06 16:56:38 +0200
  • 502acbbf68 Add "getChunkFromFIle" function to the DecryptionService to get portions of a file Maschell 2019-04-06 16:55:57 +0200
  • e8985f0c12 Fix and optimize the getFileEntryDir and getFSTEntryByFullPath functions Maschell 2019-04-06 16:51:15 +0200
  • 847ed71ae1 Add wrapper a wrapper function to get chunk of data from a content to the ExtractionsService Maschell 2019-04-06 16:50:36 +0200
  • 4f2d811b69 Optimize the getChunkFromContent function for the WUD implementations Maschell 2019-04-06 16:48:42 +0200
  • a0ce50a4b5 Added getChunkFromContent function to "NUSDataProvider" class for getting chunks of a content file Maschell 2019-04-06 16:47:02 +0200
  • 8d6c6b8691 Fix just another bug in getFSTEntriesByRegEx Maschell 2019-04-04 10:23:04 +0200
  • 671ade1fe0 Fix the getFSTEntriesByRegEx functions Maschell 2019-04-04 10:21:43 +0200
  • 9acd11bd11 Optimize getFSTEntryByFullPath Maschell 2019-03-01 15:56:15 +0100
  • 9bc418357e [NUSTitle] Improve getFSTEntriesByRegEx Maschell 2019-02-28 22:13:52 +0100
  • 89fbc830f1 [NUSTitle] Fix bug. Maschell 2019-02-28 21:53:09 +0100
  • 43d9d6f5cc [NUSTitle] Added functions getAllFSTEntriesAsStream and getAllFSTEntryChildrenAsStream Maschell 2019-02-28 21:34:41 +0100
  • 9b179f51a6 [NUSTitle] Simplify the getFSTEntriesFlatByContents function Maschell 2019-02-28 21:17:18 +0100
  • 2f26e1d39e [NUSTitle] Add function to a dir by name Maschell 2019-02-28 21:15:55 +0100
  • 6dbd94c9a0 [FSTEntry] Parse name only when needed. Maschell 2019-02-28 21:01:21 +0100
  • cd58f8b580 [DecryptionService] Stop caching Maschell 2019-02-28 21:00:40 +0100
  • 015e3fff18 [FSTEntry] Build path from parents instead of caching it. Maschell 2019-02-28 21:00:08 +0100
  • 6d98a8b92c File::listFiles may return null, let's catch that potentional null pointer. Maschell 2019-02-28 10:03:11 +0100
  • 73b6787c42 Fix deadlock when trying to get a input stream for file thats not in the current title Maschell 2019-02-24 09:33:02 +0100
  • 8124bb28e1 Fixes a little but nasty bug. Maschell 2019-01-06 16:43:19 +0100
  • cd56a50d3f Fix the h3 filename Maschell 2018-12-16 19:35:27 +0100
  • 8fcadea631 Fix a missing "!" Maschell 2018-12-16 15:25:22 +0100
  • 654e2f38f7 Ignore cases in filenames, EXT4 is case sensitive... Maschell 2018-12-16 15:21:16 +0100
  • f0306b8cce Add warnings when files couldn't be found. Maschell 2018-12-16 15:03:46 +0100
  • fa3b0df7d2 Fix some paths for *nix users. Maschell 2018-12-16 13:19:26 +0100
  • 8016b3edaf Update the pom.xml Maschell 2018-12-06 17:41:29 +0100
  • fb670b5217 Rename "decryptFSTEntryToSync" function to "decryptFSTEntryTo" Maschell 2018-12-06 17:41:17 +0100
  • b6c6ae7320 Improved logging Maschell 2018-12-06 17:40:11 +0100
  • ed488d3904 Organize import, formatting. Maschell 2018-12-06 17:37:32 +0100
  • 8fffcb1343 Try to parallize decryption if possible Maschell 2018-12-06 17:23:09 +0100
  • a46011c6ea Added options to disable parellelisation Maschell 2018-12-06 17:10:15 +0100
  • 8ef84f48dd Extract contents in parallel if supported. Maschell 2018-12-06 16:48:36 +0100
  • 31becf6c8b Synchronize access to streams. Maschell 2018-12-06 16:45:01 +0100
  • b0b678c851 Remove speical case from HashUtil Maschell 2018-12-06 16:41:02 +0100
  • 7cd2109099 Use h3 extension from Settings. Maschell 2018-12-06 16:40:34 +0100
  • a16c1943c0 Add a synchronized block to the WUD disc reading. Maschell 2018-12-06 16:06:57 +0100
  • 78b51226aa Reextract content file until it's has the expected length. Maximum tries: 3 Maschell 2018-12-06 16:06:27 +0100
  • 7425e6e904 Check the hash of the exiting .h3 instead of just checking the length. Check BEFORE getting the new file. Maschell 2018-12-06 16:04:35 +0100
  • e8236e86d2 Fixed file offset calculation. Maschell 2018-12-06 15:59:34 +0100
  • 82a3d5253c Added Comparable interface to Content entitiy Maschell 2018-12-06 15:58:15 +0100
  • 4424be0722 Added unused code Maschell 2018-12-06 15:57:58 +0100
  • abd218fa10 Added option to load NUSTitlesRemote without decrypting anything (or parsing the FST) ( => for downloading) Maschell 2018-12-06 15:57:36 +0100
  • 7e07765fa1 The NUSTitleLoaderWUD can now handle multiple GM partition and can mount contents of a GI partition. Added support for handling Kiosk discs where the SI parition is NOT encrypted with a title key. Maschell 2018-12-06 15:55:31 +0100
  • bfbbafc269 Fixed block_size and condition in wud decrypted reading. Maschell 2018-12-06 15:49:46 +0100
  • bb1c6b30d4 Add serveral functions to the Utils class Maschell 2018-12-06 15:44:10 +0100
  • 51140fb7c7 Write new files from a Stream at first to a .tmp file. This avoids fragmentation. Maschell 2018-12-06 15:40:05 +0100
  • 2479572917 Fixed the missing offset in reading WUD files Maschell 2018-12-06 15:35:45 +0100
  • 9d255e0291 Fixing the TMD class (adding missing imports), minor formatting. Maschell 2018-12-06 15:35:11 +0100
  • 70db0b7fd9 Added the option to print the infos about a TMD to any PrintStream Maschell 2018-12-06 15:34:40 +0100
  • 4c121ed959 Added a really basic toString function to the TMD class Maschell 2018-12-06 15:34:12 +0100
  • b016295e9f Return a RunTimeException if the input for the TMD was not valid. Maschell 2018-12-06 15:33:48 +0100
  • 7b27478160 Fixed minor formatting. Maschell 2018-12-06 15:32:40 +0100
  • e7e7ffe1f1 Merge branch 'master' of https://github.com/Maschell/JNUSLib Maschell 2018-12-06 15:32:18 +0100