113 Commits

Author SHA1 Message Date
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
67c5a4b59e
Added "Features" section to README.md 2024-03-08 09:50:27 -05:00
614e7d87f9
Merge pull request #14 from NinjaCheetah/main
Pull in changes from main to sort things in wad_packing out
2024-03-08 00:18:16 -05:00
230095e199
Added dependencies to pyproject.toml 2024-03-08 00:11:53 -05:00
748dbfd6d5
Update README.md 2024-03-08 00:11:53 -05:00
34354ad557
Made README banner just a bit shorter 2024-03-07 00:39:24 -05:00
522f370971
Update README.md 2024-03-07 00:36:35 -05:00
74192f8feb
Experimental content re-encrypting code 2024-03-06 22:48:51 -05:00
9751ea0d2e
Added dependencies to pyproject.toml 2024-03-06 08:57:23 -05:00
67e93d7341
Update README.md 2024-03-06 08:53:03 -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
817fe1b499
Merge pull request #10 from NinjaCheetah/decrypt_contents
Feat: Add ability to decrypt contents
2024-03-04 20:52:09 -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
1d127b09e6
Merge pull request #9 from NinjaCheetah/full_docs
Docs: Add full NumPy-style documentation to source code
2024-03-02 16:36:31 -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
80c37b9b55
Merge pull request #6 from NinjaCheetah/breakdown_wad
Extract individual app contents from WAD
2024-03-01 00:00:30 -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
270a7095ac
Merge pull request #5 from NinjaCheetah/ticket_work
Add ticket.py and crypto.py, for handling tickets and title keys
2024-02-29 23:09:39 -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
rmc
c9c4aa5b62
Proper string formatting - NinjaCheetah, do the error returning please. 2024-02-29 22:58:51 -05:00
rmc
c5025348dd
Get WAD content records. 2024-02-29 22:12:26 -05:00
d86c754ebf Created ticket.py, with a basic structure for reading a ticket
Reads all keys within a v0 ticket, and exposes functions to retrieve all the keys that may be useful to an end user. Other keys remain internal for decryption in the future.
2024-02-29 20:51:17 -05:00
1a0a787cfa Updated pyproject.toml for first public release v0.1.0 2024-02-28 23:54:33 -05:00
ed21fc0704 Updated pyproject.toml for first public release 2024-02-28 23:52:26 -05:00
2bacc474f4
Merge pull request #4 from NinjaCheetah/breakdown_wad
Add wad.py, which handles the data contained in a WAD file
2024-02-28 23:44:37 -05:00
d7e45bb2a4 Made wad.py able to export all data contained in a WAD
Also adjusted wad.py and tmd.py to both use byte streams so that the method of loading the WAD or TMD data is handled outside of the library.
Comments are also more robust overall.
2024-02-28 23:38:45 -05:00
66e83ff3f8
Minor changes to wad.py that allow for testing 2024-02-28 10:14:20 -05:00
9614defc2d
Merge remote-tracking branch 'origin/main' into breakdown_wad 2024-02-28 09:44:18 -05:00
Lillian Skinner
286df1a03e
WAD header reading, offset calculation for partitions
Currently untested.
2024-02-27 21:04:04 -05:00