Commit Graph

117 Commits

Author SHA1 Message Date
2755364472 Rewrote U8 extraction code entirely, now handles U8 files in all cases 2024-06-05 22:02:19 -04:00
1d77868cb1 Reworked U8 module and added initial support for dumping U8 archives back to bytes 2024-06-03 23:20:34 -04:00
ade4b68394 Entirely restructured package to make it more of a proper Python package
THIS IS A BREAKING COMMIT! ALL v0.2.X BASED PROJECTS WILL NEED TO BE UPDATED TO SUPPORT v0.3.X!
2024-06-02 22:18:05 -04:00
cbaafca0d1 Working basic code to extract a U8 archive 2024-05-29 12:48:44 -04:00
ede33dc503 Add highly experimental U8 handling module 2024-05-16 21:24:42 -04:00
6a81722ec5 Read/write reserved data in tmd.py, since it mattered for the DSi, it may matter here 2024-05-09 11:19:29 -04:00
ecc68d9e57 Updated definitions of TMD properties based on new information 2024-05-09 11:11:54 -04:00
045613216a Replaced unnecessary BytesIO usages with standard variables 2024-05-06 19:34:18 -04:00
98666285db Improved comments, moved TID to IV conversion into a function in shared.py 2024-05-03 22:32:51 -04:00
ba320a29de Improved IV handling code for Title Keys in crypto.py 2024-05-03 17:27:52 -04:00
9890a6dbac Added function to crypto.py for encrypting a title key 2024-05-03 15:10:17 -04:00
c92a8096ea Rename fallback_endpoint to wiiu_endpoint in nus.py 2024-05-02 22:20:59 -04:00
99a55a3de5 Added the ability to use the Wii U NUS servers to nus.py 2024-05-01 22:22:30 -04:00
4a3e9f8e7f Merge remote-tracking branch 'origin/main' 2024-04-30 23:07:22 -04:00
8eeebd1d75 Change endpoint URLs for NUS, this greatly improves download speed 2024-04-30 23:07:14 -04:00
3b7a2d09b0 Corrected small error in tmd.py, GameChannel is the "correct" name 2024-04-26 21:34:40 -04:00
a85beac602 Correctly pack boot2 WADs as type "ib" and not "Is" 2024-04-14 12:58:40 -04:00
338446efcb Merge pull request #17 from NinjaCheetah/nus_download
Add NUS Downloading
2024-04-05 01:05:43 -04:00
ccbc2e262b Rewrote nus.py to be functions instead of an NUSDownloader class because the class was unnecessary and made things more complex 2024-04-05 00:09:19 -04:00
rmc
17a894dc0d Add support for boot2 WADs
This is the hard work they pay me for.
2024-04-03 23:22:23 -04:00
fa6c9eb740 Added nus.py for handling NUS downloads, more or less completed already 2024-04-03 22:59:36 -04:00
e85eae567a Improved docstrings and made them all much more consistent across the project 2024-04-03 18:05:12 -04:00
b9edeb160d Remove legacy fix in crypto.py that is no longer needed and was causing issues with encryption 2024-04-02 18:14:24 -04:00
57fb0576e9 WADs can now be packed properly via title.py or low-level methods 2024-04-01 22:16:42 -04:00
640ca91716 Allow creating blank objects for WADs, TMDs, Tickets, ContentRegions, and Titles to make WAD packing possible 2024-03-31 23:38:52 -04:00
142a121fa9 Added methods to wad.py to allow changing a WAD's data
Also added methods to title.py to allow dumping a full WAD. Some attributes were also removed from wad.py, because the offsets would become poisoned if any changes were made to the content sizes, and they therefore should not be read.
2024-03-30 02:13:34 -04:00
8026fc4fa3 Added methods to set content in both enc and dec form to content.py 2024-03-29 23:40:13 -04:00
379359c089 Added methods for getting enc and dec content by their Content IDs 2024-03-29 20:35:44 -04:00
b5aab5ad22 Added ability to dump tickets back to raw data 2024-03-21 21:09:46 -04:00
8244d79fba wad.py and tmd.py now support dumping the object back into raw data 2024-03-20 23:11:09 -04:00
7b6703cf36 Created title.py to handle titles as a whole and allow for changing parts of them more easily 2024-03-19 22:48:55 -04:00
c2b7724fdd Add separate methods to content.py for getting all contents vs 1 content by index 2024-03-19 22:01:50 -04:00
bfe937f58f Add a check to wad.py that ensures the file being loaded is a WAD 2024-03-19 21:43:18 -04:00
0cb37487b6 WAD extraction now works for all non-vWii WADs! 2024-03-17 23:28:02 -04:00
9598d6d434 Content encryption is now working 2024-03-17 15:50:57 -04:00
74192f8feb Experimental content re-encrypting code 2024-03-06 22:48:51 -05:00
73d684a74f Removed a forgotten debug print 2024-03-05 22:18:57 -05:00
3fd5bfd5df Deprecate some methods in favor of using properties directly, this is cleaner 2024-03-05 21:04:04 -05:00
7ca46372b0 Full content extraction is working! 2024-03-04 20:48:38 -05:00
b3923cfe40 This makes 00000001.app work 2024-03-03 22:05:30 -05:00
413b7a371f More adjustments to the content extraction code 2024-03-03 15:18:58 -05:00
a2c4c850a8 Partially working code for decrypting content 2024-03-02 23:59:02 -05:00
8eb54ab961 Fully documented remaining files 2024-03-01 18:13:24 -05:00
6c5c045bb1 Fully documented tmd.py 2024-03-01 17:22:34 -05:00
b0e48eb63c Fully documented wad.py 2024-03-01 16:55:31 -05:00
Lillian Skinner
548d9d4098 Merge branch 'main' into breakdown_wad 2024-02-29 23:58:47 -05:00
rmc
f9b5e7aa16 Small edit to return error. 2024-02-29 23:52:49 -05:00
b241124240 Added error handling and made minor adjustments 2024-02-29 23:40:33 -05:00
bfec2af0ac Ironically the only error left was in a line to raise an error. 2024-02-29 23:06:27 -05:00
3c5f8b6763 Added function to ticket.py to return the decrypted Title Key
Also added crypto.py which will manage all crypto-related functionality in the library. Currently only offers a function to decrypt a given Title Key.
ticket.py now creates a list of play limits placed on a title.
2024-02-29 23:02:36 -05:00