Commit Graph

129 Commits

Author SHA1 Message Date
Maschell
e3dbf81a8e Add try catch arround the output write in decryptFileStreamHashed to check if the output stream was already closed. 2019-04-10 17:54:20 +02:00
Maschell
c2579f1cd8 Add FSTUtils class for common FST operations 2019-04-10 17:48:54 +02:00
Maschell
dd8f7bcb5f Added optional parameter to limit the size of a input stream for content 2019-04-07 14:57:41 +02:00
Maschell
ac1d08645d Add support for the "LocalBackup" format 2019-04-07 14:56:32 +02:00
Maschell
486f146a06 Do not cast when not needed. 2019-04-07 14:54:43 +02:00
Maschell
1f1cd3e64a Return a IOException when parsing a WUD fails 2019-04-07 14:54:02 +02:00
Maschell
7bd424ec42 Fix a bug in the "getChunkOfStream" function 2019-04-07 14:53:35 +02:00
Maschell
31fcc4fc6d Fix the buffer size in the getBytesFromStream function 2019-04-07 00:38:51 +02:00
Maschell
a5bc706cb9 Fixing the IV for certain reads 2019-04-07 00:12:20 +02:00
Maschell
0261e33b80 Fix potential bug 2019-04-07 00:11:13 +02:00
Maschell
48f8629744 Implement random access for non-hashed files 2019-04-07 00:10:36 +02:00
Maschell
57611173b4 Optimize the NUSDataProviderWUDGI implementation 2019-04-06 16:57:12 +02:00
Maschell
a0ce93dc38 Fix the return type of the "getDecryptedOutputAsInputStream" function 2019-04-06 16:56:38 +02:00
Maschell
502acbbf68 Add "getChunkFromFIle" function to the DecryptionService to get portions of a file 2019-04-06 16:55:57 +02:00
Maschell
e8985f0c12 Fix and optimize the getFileEntryDir and getFSTEntryByFullPath functions 2019-04-06 16:51:15 +02:00
Maschell
847ed71ae1 Add wrapper a wrapper function to get chunk of data from a content to the ExtractionsService 2019-04-06 16:50:36 +02:00
Maschell
4f2d811b69 Optimize the getChunkFromContent function for the WUD implementations 2019-04-06 16:48:42 +02:00
Maschell
a0ce50a4b5 Added getChunkFromContent function to "NUSDataProvider" class for getting chunks of a content file 2019-04-06 16:47:02 +02:00
Maschell
8d6c6b8691 Fix just another bug in getFSTEntriesByRegEx 2019-04-04 10:23:04 +02:00
Maschell
671ade1fe0 Fix the getFSTEntriesByRegEx functions 2019-04-04 10:21:43 +02:00
Maschell
9acd11bd11 Optimize getFSTEntryByFullPath 2019-03-01 15:56:15 +01:00
Maschell
9bc418357e [NUSTitle] Improve getFSTEntriesByRegEx 2019-02-28 22:13:52 +01:00
Maschell
89fbc830f1 [NUSTitle] Fix bug. 2019-02-28 21:53:09 +01:00
Maschell
43d9d6f5cc [NUSTitle] Added functions getAllFSTEntriesAsStream and getAllFSTEntryChildrenAsStream 2019-02-28 21:34:41 +01:00
Maschell
9b179f51a6 [NUSTitle] Simplify the getFSTEntriesFlatByContents function 2019-02-28 21:17:18 +01:00
Maschell
2f26e1d39e [NUSTitle] Add function to a dir by name 2019-02-28 21:15:55 +01:00
Maschell
6dbd94c9a0 [FSTEntry] Parse name only when needed. 2019-02-28 21:01:21 +01:00
Maschell
cd58f8b580 [DecryptionService] Stop caching 2019-02-28 21:00:40 +01:00
Maschell
015e3fff18 [FSTEntry] Build path from parents instead of caching it. 2019-02-28 21:00:08 +01:00
Maschell
6d98a8b92c File::listFiles may return null, let's catch that potentional null pointer. 2019-02-28 10:03:11 +01:00
Maschell
73b6787c42 Fix deadlock when trying to get a input stream for file thats not in the current title 2019-02-24 09:33:02 +01:00
Maschell
8124bb28e1 Fixes a little but nasty bug. 2019-01-06 16:43:19 +01:00
Maschell
cd56a50d3f Fix the h3 filename 2018-12-16 19:35:27 +01:00
Maschell
8fcadea631 Fix a missing "!" 2018-12-16 15:25:22 +01:00
Maschell
654e2f38f7 Ignore cases in filenames, EXT4 is case sensitive... 2018-12-16 15:21:16 +01:00
Maschell
f0306b8cce Add warnings when files couldn't be found. 2018-12-16 15:03:46 +01:00
Maschell
fa3b0df7d2 Fix some paths for *nix users. 2018-12-16 13:19:26 +01:00
Maschell
fb670b5217 Rename "decryptFSTEntryToSync" function to "decryptFSTEntryTo" 2018-12-06 17:41:17 +01:00
Maschell
b6c6ae7320 Improved logging 2018-12-06 17:40:11 +01:00
Maschell
ed488d3904 Organize import, formatting. 2018-12-06 17:37:32 +01:00
Maschell
8fffcb1343 Try to parallize decryption if possible 2018-12-06 17:23:09 +01:00
Maschell
a46011c6ea Added options to disable parellelisation 2018-12-06 17:10:15 +01:00
Maschell
8ef84f48dd Extract contents in parallel if supported. 2018-12-06 16:48:36 +01:00
Maschell
31becf6c8b Synchronize access to streams. 2018-12-06 16:45:01 +01:00
Maschell
b0b678c851 Remove speical case from HashUtil 2018-12-06 16:41:02 +01:00
Maschell
7cd2109099 Use h3 extension from Settings. 2018-12-06 16:40:34 +01:00
Maschell
a16c1943c0 Add a synchronized block to the WUD disc reading. 2018-12-06 16:06:57 +01:00
Maschell
78b51226aa Reextract content file until it's has the expected length. Maximum tries: 3 2018-12-06 16:06:27 +01:00
Maschell
7425e6e904 Check the hash of the exiting .h3 instead of just checking the length. Check BEFORE getting the new file. 2018-12-06 16:04:35 +01:00
Maschell
e8236e86d2 Fixed file offset calculation. 2018-12-06 15:59:34 +01:00
Maschell
82a3d5253c Added Comparable interface to Content entitiy 2018-12-06 15:58:15 +01:00
Maschell
4424be0722 Added unused code 2018-12-06 15:57:58 +01:00
Maschell
abd218fa10 Added option to load NUSTitlesRemote without decrypting anything (or parsing the FST) ( => for downloading) 2018-12-06 15:57:36 +01:00
Maschell
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. 2018-12-06 15:55:31 +01:00
Maschell
bfbbafc269 Fixed block_size and condition in wud decrypted reading. 2018-12-06 15:49:46 +01:00
Maschell
bb1c6b30d4 Add serveral functions to the Utils class 2018-12-06 15:44:10 +01:00
Maschell
51140fb7c7 Write new files from a Stream at first to a .tmp file. This avoids fragmentation. 2018-12-06 15:40:05 +01:00
Maschell
2479572917 Fixed the missing offset in reading WUD files 2018-12-06 15:35:45 +01:00
Maschell
9d255e0291 Fixing the TMD class (adding missing imports), minor formatting. 2018-12-06 15:35:11 +01:00
Maschell
70db0b7fd9 Added the option to print the infos about a TMD to any PrintStream 2018-12-06 15:34:40 +01:00
Maschell
4c121ed959 Added a really basic toString function to the TMD class 2018-12-06 15:34:12 +01:00
Maschell
b016295e9f Return a RunTimeException if the input for the TMD was not valid. 2018-12-06 15:33:48 +01:00
Maschell
7b27478160 Fixed minor formatting. 2018-12-06 15:32:40 +01:00
Maschell
e7e7ffe1f1 Merge branch 'master' of https://github.com/Maschell/JNUSLib 2018-12-06 15:32:18 +01:00
Maschell
b15dc3b427 Use "-1" instead of "0" as a custom value to indicate we want the latest TMD version 2018-12-06 15:31:48 +01:00
Maschell
ebb6e758d3 Only calculate the offsets of a WUX file if it's a valid file. 2018-12-06 15:31:10 +01:00
Maschell
659b408a59 Fix the hash calculation for some files in "non hashed" .app files 2018-12-06 15:29:57 +01:00
Maschell
e046031dd2 Fix downloading certain files to a byte array. 2018-12-06 15:29:13 +01:00
Maschell
5603bfb94e Use a proper user agent for downloading 2018-12-06 15:28:25 +01:00
Maschell
050ab840ed Merge branch 'master' of https://github.com/Maschell/JNUSLib 2018-12-06 15:07:22 +01:00
Maschell
eaef0fefd1 Added license information, some code formatting 2018-03-10 12:22:10 +01:00
Maschell
22f764faef Added decompression 2017-12-17 17:03:33 +01:00
Maschell
0dc62ef4c0 Added cert downloading for remote titles 2017-07-28 16:53:52 +02:00
Maschell
14c987456d Code clean up, changed to a maven project 2017-05-17 19:20:42 +02:00
Maschell
b332dc1bcd Fixed splitted files from a relativ path. Fixed output of current extraction 2016-12-22 21:32:14 +01:00
Maschell
6b8efcaf53 Removed one file created that was just used for debugging. 2016-12-13 20:21:55 +01:00
Maschell
513a31fcee Added some more checks and changed the output. 2016-12-13 20:18:51 +01:00
Maschell
b7ec1a4d31 Ups. 2016-12-12 21:08:40 +01:00
Maschell
a75fe2e6bd first commit, have fun 2016-12-12 21:01:12 +01:00